Programação · Ensino fundamental · aula 5 de 5 · ~2 min de leitura
Funções
Como dar nome a um trecho de código para usá-lo quantas vezes quiser.
Esta aula ainda aguarda revisão da comunidade. Achou um erro? Sugira uma correção.
Dar nome a um conjunto de passos
Função é um bloco de código com nome, que só é executado quando alguém o chama. Você já usou duas: print e input. Agora vai criar as suas.
def saudacao():
print("Olá!")
print("Bem-vindo à biblioteca.")
saudacao()
saudacao()
def(de define) cria a função.saudacaoé o nome dela.- As linhas recuadas são o corpo: o que ela faz.
saudacao()é a chamada. Cada chamada executa o corpo inteiro. O programa acima mostra as duas mensagens duas vezes.
Definir uma função não a executa. Sem a chamada, nada acontece.
Parâmetros: a entrada da função
Uma função fica muito mais útil quando recebe valores para trabalhar.
def saudacao(nome):
print("Olá, " + nome + "!")
saudacao("Ana") # mostra Olá, Ana!
saudacao("Pedro") # mostra Olá, Pedro!
nome é um parâmetro: uma variável que só existe dentro da função e que recebe o valor passado na chamada.
Retorno: a saída da função
Muitas vezes você não quer que a função mostre algo na tela, e sim que ela devolva um resultado para ser usado depois. Para isso existe o return.
def media(a, b):
return (a + b) / 2
resultado = media(7, 9)
print(resultado) # mostra 8.0
Ao chegar em return, a função termina e entrega o valor a quem a chamou. Aqui, o valor é guardado na variável resultado.
A diferença entre print e return confunde muita gente no início:
printmostra um valor para a pessoa que está usando o programa.returnentrega um valor para o resto do programa.
Por que usar funções
- Evitar repetição. Escreva uma vez, use quantas vezes quiser.
- Corrigir em um lugar só. Se a conta estiver errada, você conserta na função e todas as chamadas ficam certas.
- Organizar. Um programa grande vira um conjunto de peças pequenas, cada uma com um nome que diz o que faz.
Juntando tudo
Este programa usa quase tudo o que você viu na trilha: variáveis, condição, laço e função.
def e_par(numero):
return numero % 2 == 0
for n in range(1, 6):
if e_par(n):
print(n, "é par")
else:
print(n, "é ímpar")
O operador % dá o resto da divisão. Se o resto da divisão por 2 for zero, o número é par.
Próximos passos
Com algoritmos, variáveis, condições, laços e funções, você já conhece a base de toda linguagem de programação. Para continuar, o acervo indica dois livros gratuitos: Think Python e Automate the Boring Stuff with Python.
Teste o que você aprendeu
1. O que a palavra return faz dentro de uma função?
2. Na definição def dobro(n):, o que é n?
3. Qual é a principal vantagem de usar funções?
Fontes desta aula
- André Forbellone e Henri Eberspächer. Lógica de programação: a construção de algoritmos e estruturas de dados (2005).
- Python Software Foundation. O tutorial de Python.