Por que criar funções
Objetivo da aula
Reduzir repetição e dar nomes a operações significativas.
Regra desta aula: vamos assumir que você nunca viu este assunto antes. Nenhum termo importante será usado sem explicação e todo exemplo deve ser entendido linha por linha, não apenas copiado.
Começando do zero
Função é um bloco de código que recebe um nome e pode ser executado quando chamado. Ela permite agrupar uma responsabilidade, reutilizar uma regra e esconder detalhes atrás de uma interface simples. Uma boa função ajuda o leitor a pensar em tarefas maiores sem precisar reler todas as linhas internas a cada vez.
Uma imagem mental para entender
Pense em um liquidificador com um botão “bater”. Você não precisa controlar manualmente cada movimento do motor toda vez; usa uma operação com nome. Uma função é uma operação nomeada do programa: por dentro existem passos; por fora você chama a responsabilidade.
Conceitos essenciais, sem pular etapas
Definição
Em Python, def inicia a definição de uma função. O corpo indentado não executa apenas por ser definido; ele executa quando a função é chamada.
Chamada
Escrever saudar() pede a execução da função chamada saudar.
Responsabilidade
Uma função pequena deve ter um propósito reconhecível. Nomes como calcular_total são mais informativos que fazer_coisa.
Reutilização
Se a mesma regra aparece em vários lugares, uma função reduz duplicação e centraliza mudanças.
Abstração
O chamador pode usar a função sem conhecer cada detalhe interno, desde que entenda seu contrato de entrada e saída.
Modelo mental
PROBLEMA GRANDE → RESPONSABILIDADES → FUNÇÕES NOMEADAS → CHAMADAS
Exemplo 1 — primeiro veja o programa inteiro
def mostrar_boas_vindas():
print("Bem-vindo ao FT-002")
print("Vamos praticar programação.")
mostrar_boas_vindas()
mostrar_boas_vindas()
Agora vamos ler linha por linha
def mostrar_boas_vindas():cria a função e dá um nome à responsabilidade.- As duas linhas indentadas pertencem ao corpo.
- A definição por si só não imprime nada.
- Cada chamada executa o corpo completo, por isso as mensagens aparecem duas vezes.
Saída esperada
As duas mensagens aparecem duas vezes.
Exemplo 2 — o mesmo conceito em outra situação
def linha_separadora():
print("-" * 30)
print("Relatório")
linha_separadora()
print("Fim")
A função esconde o detalhe de como a linha é construída. Se depois quisermos mudar o tamanho, existe um único lugar para alterar.
Experimento guiado
Não pule esta parte. Programação só começa a fazer sentido quando você prevê um resultado, executa e compara a previsão com o que realmente aconteceu.
- Crie uma função sem parâmetros que mostre três linhas de cabeçalho.
- Chame a função duas vezes e confirme a reutilização.
- Altere a implementação interna e observe que as chamadas continuam iguais.
- Escolha um nome de função que descreva ação, normalmente usando verbo.
Mini desafio
Crie uma função mostrar_menu() que apresente três opções fictícias e chame-a no programa principal.
Solução comentada
def mostrar_menu():
print("1 - Listar")
print("2 - Adicionar")
print("3 - Sair")
mostrar_menu()
Depois de executar a solução, altere pelo menos um valor e explique por que o novo resultado mudou. Se você só copiou e não consegue explicar cada linha, refaça o desafio em uma versão menor.
Erros comuns e por que acontecem
- Criar uma função enorme que faz entrada, cálculo, arquivo e interface ao mesmo tempo.
- Esquecer de chamar a função e esperar que o corpo execute só porque foi definido.
- Dar nomes genéricos que não explicam a responsabilidade.
- Copiar a mesma regra em vários lugares em vez de reutilizar uma função.
Cheque se você realmente entendeu
Definir uma função executa imediatamente o corpo?
Resposta: Não; normalmente o corpo executa quando a função é chamada.
Por que funções ajudam manutenção?
Resposta: Porque centralizam responsabilidades e reduzem duplicação.
Qual nome comunica melhor: f() ou calcular_media()?
Resposta: calcular_media(), quando essa é a responsabilidade real.
Resumo em linguagem simples
Nesta aula, o ponto central foi Por que criar funções. Tente explicar o modelo PROBLEMA GRANDE → RESPONSABILIDADES → FUNÇÕES NOMEADAS → CHAMADAS sem olhar a tela. Depois, escreva um exemplo próprio menor que os apresentados. Esse exercício de explicação é parte do aprendizado, não um extra.
Conexão com a próxima aula
Na próxima aula, Parâmetros e argumentos, vamos aproveitar exatamente o que foi construído aqui. Você não precisa memorizar tudo; precisa conseguir reconhecer o conceito e reconstruí-lo com raciocínio e testes.