Suas próprias funções
Se lembra de funções como len() que você pode executar no Python? Bem, boas notícias, agora você vai aprender a escrever suas próprias funções!
Uma função é uma sequência de instruções que o Python deve executar. Cada função em Python começa com a palavra-chave def, seguido de um nome para a função e opcionalmente uma lista de parâmetros. Vamos começar com uma função simples. Substitua o código no python_intro.py com o seguinte:
def oi():
print('Olá!')
print('Como vai você?')
oi()
Ok, nossa primeira função está pronta!
Você pode se perguntar por que escrevemos o nome da função na parte inferior do arquivo. Isto é porque Python lê o arquivo e executa de cima para baixo. Então, para usar a nossa função, temos de escrevê-lo na parte inferior.
Vamos executa-lo agora e ver o que acontece:
$ python3 python_intro.py
Olá!
Como vai você?
Isso foi fácil! Vamos construir nossa primeira função com parâmetros. Usaremos o exemplo anterior - uma função que diz 'hi' para quem o executa - com um name:
def oi(nome):
Como você pode ver, agora demos um parâmetro chamado nome para nossa função:
def oi(nome):
if nome == 'Ola':
print('Oi Ola!')
elif nome == 'Sonja':
print('Oi Sonja!')
else:
print('Oi anônimo!')
oi()
Como você pode ver, nós precisamos colocar dois espaços antes da função print, porque if precisa saber o que deve acontecer quando a condição for atendida. Vamos ver como isso funciona agora:
$ python3 python_intro.py
Traceback (most recent call last):
File "python_intro.py", line 10, in <module>
oi()
TypeError: oi() missing 1 required positional argument: 'nome'
Oops, um erro. Felizmente, Python nos fornece uma mensagem de erro bastante útil. Ela diz que a função oi() (aquela que declaramos) tem um argumento obrigatório (chamado nome) e que nós esquecemos de passá-lo ao chamar a função. Vamos corrigi-lo na parte inferior do arquivo:
oi("Ola")
e execute novamente:
$ python3 python_intro.py
Oi Ola!
E se mudarmos o nome?
oi("Sonja")
e executá-lo:
$ python3 python_intro.py
Oi Sonja!
Agora, o que acha que vai acontecer se você escrever outro nome lá? (Sem ser Ola ou Sonja). Experimente e veja se você está certo. Ele deve imprimir isto:
Oi anonimo!
Isto é incrível, não? Dessa maneira você não precisa se repetir (DRY - don't repeat yourself, ou em português, não se repita) cada vez que for mudar o nome da pessoa que a função pretende cumprimentar. E é exatamente por isso que precisamos de funções - você nunca quer repetir seu código!
Vamos fazer algo mais inteligente..--existem mais que dois nomes, e escrever uma condição para cada um seria difícil, certo?
def oi(nome):
print('Oi ' + nome + '!')
oi("Maria")
Vamos chamar o código agora:
$ python3 python_intro.py
Oi Maria!
Parabéns! Você acabou de aprender a criar funções :)!
Last updated
Was this helpful?