Slides 4
Slides 4
Vamos agora ver que para além das funções pré-definidas que temos usado, podemos
definir funções em Python. Estas são muito úteis, porque permitem:
Funções em Python: exemplos
Notas:
- A instrução def cria um objeto do tipo função e
atribui-lhe um nome;
- return devolve o(s) resultado(s) para a instrução
que chama a função no programa principal, p.ex.;
- Para chamar a função basta escrever o seu nome,
colocando os seus argumentos, quando necessário,
tal como fazemos com as funções pré-definidas que
temos usado.
Funções em Python: exemplos
- Em 1º lugar é procurado no espaço dos nomes local da função, isto é os nomes que
foram atribuídos a objetos no interior da função ou na definição da mesma (através
dos parâmetros de entrada);
- Se o nome não foi encontrado no espaço local, procura no espaço global, isto é, no
módulo principal;
- Caso não exista procura no espaço de nomes pré-definidos do Python;
- Caso não seja encontrado em nenhum daqueles espaços, será levantada uma exceção:
“NameError: name is not defined”.
Deve ter-se cuidado com estas resoluções de nomes, nomeadamente com a noção de
que as variáveis são locais ou globais, para não gerar erros que podem ser difíceis de
detetar…
Funções em Python: alcance dos nomes
def assign(x): Neste exemplo, z é variável global e local;
z=x prevalece a variável global
return z
z=22
print(assign(1))
print(z)
>>> 1 Forma mais “segura” de utilizar as funções
>>> 22
Neste exemplo, assegura-se que z é Neste exemplo, z é alterado no programa principal,
variável global em todo o programa usando a função definida; é a forma mais correta de
fazer, evitando problemas laterais
return zz
return
operation (3,2,5)
é diferente de
operation (5,3,2)
Funções em Python: parâmetros chave-valor
def operacao(x,y,z):
return x-y+z
>>> 1
def operacao(x,y,z):
return x-y+z