Escolar Documentos
Profissional Documentos
Cultura Documentos
§ Funções
§ parâmetros
§ Módulos
2
§ No decorrer do curso, já utilizamos várias funções:
§ input()
§ print()
§ len()
§ range()
§ type()
3
§ Por que usar funções?
§ Simplifica o programa.
§ Reutilização de código.
4
§ Criação:
def nome_funcao(x,y):
comandos
return valor/expressão
5
§ Criação exemplo:
§ def soma(x,y):
print (x+y) #podemos utilizar função dentro de função
§ def soma(x,y):
return (x+y) #utilização do return
nome_funcao(argumentos)
§ Exemplo:
soma(2,3) #chamada a função
print(soma(2,3)) #para imprimir o resultado da função
7
§ Atenção:
Certifique-se que o código de criação da função está ANTES da
chamada à função:
def calculaDobro(a):
return 2*a #criação da função
8
§ Exemplo: Escreva uma função que verifique se um numero é par ou ímpar.
def par(x):
if(x%2==0):
return "par”
else:
return “impar”
num=int(input("Digite o numero: "))
print(par(num))
9
§ Variável local
§ Uma variável declarada dentro de uma função existe apenas dentro dela.
§ Não podemos acessar o valor de uma variável local fora da função que a criou.
§ Variável global
§ é definida fora de uma função
§ pode ser vista por todas as funções do módulo e por todos os módulos que importam
o módulo que a criou.
10
§ Variável local
def calculaArea(raio):
pi=3.141516
area = pi * raio**2
return area
11
§ Variável local
def calculaPerimetro(raio):
pi=3.1415
print("Perimetro: ", 2*pi*raio)
def calculaArea(raio):
pi=3.1415
print(“Area: ", pi*raio**2)
pi=3.1415
def calculaPerimetro(raio):
global pi
pi=3.14 #podemos alterar o valor pois a variável é global
print("Perimetro: ", 2*pi*raio)
def calculaArea(raio):
print(“Area: ", pi*raio**2)
def calculaPerimetro(raio):
print("Perimetro: ", 2*pi*raio)
def calculaArea(raio):
print(“Area: ", pi*raio**2)
§ Parâmetros obrigatórios
§ Parâmetros opcionais
§ Parâmetros obrigatórios e opcionais
§ Empacotamento de parâmetros
§ Desempacotamento de parâmetros
15
§ Função com parâmetros obrigatórios:
def soma(x,y):
print (x+y)
16
§ Função com parâmetros opcionais:
§ Dizemos qual valor será utilizado caso um novo valor não seja
informado
def soma(x=0,y=0):
return x+y
print(soma())
17
§ Funçãocom parâmetros obrigatórios e opcionais:
§ Os parâmetros obrigatórios devem ser definidos ANTES dos
parâmetros opcionais.
def soma3(x,y,z=0):
return x+y+z
print(soma3(50,40))
print(soma3(50,40,20))
18
§ Funções como parâmetros:
def soma(x,y):
print (x+y)
def imprimeSoma(x,y,func):
print soma(x+y)
19
§ Empacotamento de parâmetros:
§ Podemos passar parâmetros empacotados em uma lista (utilizamos o
asterisco *)
def soma(x,y):
print (x+y)
soma(*v)
20
§ Desempacotamentode parâmetros:
§ Função com número indeterminado de parâmetros.
def somaNum(*nums):
soma=0
for x in nums:
soma=soma+x
return soma
print(somaNum(1,2,10))
print(somaNum (10,20,30,40,50)) 21
§ Funções lambda
§ Exemplo:
dobro=lambda x: x*2 mult = lambda a,b : (a*b)
print(dobro(3)) print(mult(100,5))
22
§ Umafunção recursiva é uma função que
chama a si mesma.
def fatorial(n):
if (n==1) or (n==0):
return 1
else:
return n*fatorial(n-1)
24
§ Exemplo: Somar todos os números até o número passado por
parâmetro:
def soma(n):
if(n==0) or (n==1):
return n
else:
return(n+soma(n-1))
25
Módulos
26
§ Um módulo é um arquivo que guarda um conjunto de funções
27
§ import random #números aleatórios
28
§ Importar todas as funções ou constantes do módulo:
import módulo
§ Exemplo:
import math
import random
29
§ Módulo time: Várias funções para manipular o tempo.
import time
agora = time.localtime()
print(“Ano”, agora.tm_year)
print(“Mes”, agora.tm_mon)
print(“Dia”, agora.tm_mday)
print(“Hora”, agora.tm_hour)
print(“Minuto”, agora.tm_min)
print(“Segundo”, agora.tm_sec)
print(“Dia da semana”, agora.tm_wday)
print(“Dia do ano”, agora.tm_yday)
30
§ Módulo math: funções matemáticas
math.factorial(x) # fatorial de x
math.pi # valor de pi
math.cos(x) # valor do cosseno de x radianos
math.sin(x) #valor do seno de x radianos
math.tan(x) # valor da tangente de x radianos
31
§ Módulo random: utilizado para gerar números aleatórios:
32
§ Exemplo: programa adivinha numero
import random
sorteado = random.randint(1,10)
n=0
while n!=sorteado:
n=int(input("qual o seu palpite?"))
if n==sorteado:
print("Você acertou!")
elif n>sorteado:
print("Muito alto")
else:
print("Muito baixo") 33
§ Criar módulos: Todo arquivo .py é um módulo
§ https://docs.python.org/pt-br/3/py-modindex.html#cap-m
35
§ Escreva uma função para pesquisar um determinado valor em uma
lista
36
NOTA DE ESCLARECIMENTO: Direito de Imagem
https://portais.ufma.br/PortalUfma/paginas/noticias/noticia.jsf?id=57033
37