Aula 09 - Funções (Parte 1: Básico)
🎯 Objetivos da Aula
- [ ] Entender o conceito de Funções (reutilização de código)
- [ ] Definir funções com
def - [ ] Passar dados para funções (Parâmetros)
- [ ] Receber dados de volta (Retorno com
return) - [ ] Documentar funções com Docstrings
📚 Conteúdo
1. O que são Funções?
Funções são blocos de código que realizam uma tarefa específica e têm um nome. Imagine uma função como uma Mini-Máquina: 1. Entra matéria-prima (Parâmetros). 2. A máquina trabalha [Corpo da função]. 3. Sai um produto final [Retorno].
Fluxo: 1. Entrada: Parâmetros 2. Processamento: Corpo da função 3. Saída: Retorno
Vantagens: - Reutilização: Escreva uma vez, use mil vezes. - Organização: Quebra programas complexos em partes menores. - Manutenção: Se precisar corrigir, corrige em um lugar só.
2. Criando uma Função (def)
Usamos a palavra-chave def.
3. Parâmetros (Entrada)
Podemos passar dados para a função trabalhar.
4. Retorno (return)
Na maioria das vezes, queremos que a função calcule algo e nos devolva o resultado, em vez de apenas imprimir.
def somar(a, b):
resultado = a + b
return resultado
# O valor volta para quem chamou
total = somar(10, 5)
print(f"O total é {total}")
⚠️ Importante: Quando o Python encontra o
return, a função acaba imediatamente (sai dela).
5. Docstrings (Documentação)
Boas práticas! Sempre explique o que sua função faz logo na primeira linha.
def multiplicar(a, b):
"""
Multiplica dois números e retorna o resultado.
"""
return a * b
# No VSCode, se você passar o mouse sobre 'multiplicar', verá essa mensagem!
💻 Em Prática
Vamos refatorar o cálculo de IMC da Aula 02 usando funções.
# imc_funcoes.py
def calcular_imc(peso, altura):
"""Calcula o IMC dado peso (kg) e altura (m)."""
return peso / (altura ** 2)
def classificar_imc(imc):
"""Retorna a classificação baseada no IMC."""
if imc < 18.5:
return "Abaixo do peso"
elif imc < 25:
return "Peso normal"
elif imc < 30:
return "Sobrepeso"
else:
return "Obesidade"
# Programa Principal
p = float(input("Peso (kg): "))
a = float(input("Altura (m): "))
meu_imc = calcular_imc(p, a)
classificacao = classificar_imc(meu_imc)
print(f"Seu IMC é {meu_imc:.2f}: {classificacao}")
📝 Resumo
def nome():define a função.- Parâmetros são variáveis que a função recebe para trabalhar.
returnenvia o resultado de volta e encerra a função.- Docstrings (
"""...""") documentam o código. - Funções tornam o código mais limpo e profissional.
🎯 Próximos Passos
-
Acessar Slides
-
Quiz
-
Exercícios
-
Projeto