Pular para conteúdo

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.

def saudar():
    print("Olá! Bem-vindo ao Python.")

# Chamando a função (executando)
saudar()
saudar()

3. Parâmetros (Entrada)

Podemos passar dados para a função trabalhar.

def saudar_nome(nome):
    print(f"Olá, {nome}!")

saudar_nome("Ana")
saudar_nome("Carlos")

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.
  • return envia 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