// aula 05 · Python · Fundamentos
O que é uma função?
O Guanabara compara funções a receitas de bolo: você escreve a receita uma vez e pode usá-la quantas vezes quiser, com ingredientes (parâmetros) diferentes. Funções evitam repetição e organizam o código.
Anatomia de uma função
# palavra-chave nome parâmetros # ↓ ↓ ↓ def saudacao(nome, periodo): """Exibe uma saudação personalizada.""" # ← docstring mensagem = f"Boa {periodo}, {nome}!" return mensagem # ← retorno # chamando a função: resultado = saudacao("Lucilia", "tarde") # ← argumentos print(resultado) # → Boa tarde, Lucilia!
Palavra-chave que define uma função. Seguida do nome e parênteses com os parâmetros.
Variáveis que a função recebe como entrada. São locais à função.
Devolve um valor para quem chamou a função. Sem ele, a função retorna None.
Tipos de função
A mais simples — só executa, não recebe nada e não devolve nada.
Recebe dados, mas não devolve — apenas age sobre eles (ex: imprimir).
A mais comum — recebe dados, processa e devolve um resultado.
Parâmetros podem ter valores default — se não passado, usa o padrão.
Escopo de variáveis — local vs global
O Guanabara explica que variáveis criadas dentro de uma função são locais — só existem lá dentro. Variáveis fora das funções são globais e podem ser lidas (mas não alteradas diretamente) dentro das funções.
nome = "Lucilia" # variável GLOBAL def apresentar(): curso = "Python" # variável LOCAL (só existe aqui) print(f"{nome} estuda {curso}") # lê a global nome ✅ apresentar() print(nome) # ✅ funciona — nome é global print(curso) # ❌ NameError — curso não existe aqui! # Para alterar uma global dentro de uma função, use global: contador = 0 def incrementar(): global contador contador += 1
Principais funções embutidas do Python
Exibe valores no terminal. Pode receber múltiplos argumentos e o separador sep.
Lê um texto digitado pelo usuário. Sempre retorna string.
Retorna o tipo de um valor: int, str, float, bool...
Retorna o tamanho (número de itens) de uma string, lista, etc.
Gera uma sequência de números. Usado principalmente com for.
Convertem tipos: int("5") → 5, str(3.14) → "3.14".
Exemplo completo — calculadora com funções
def somar(a, b): return a + b def subtrair(a, b): return a - b def multiplicar(a, b): return a * b def dividir(a, b): if b == 0: return "Erro: divisão por zero!" return a / b # Programa principal n1 = float(input("Primeiro número: ")) op = input("Operação (+, -, *, /): ") n2 = float(input("Segundo número: ")) if op == "+": res = somar(n1, n2) elif op == "-": res = subtrair(n1, n2) elif op == "*": res = multiplicar(n1, n2) elif op == "/": res = dividir(n1, n2) else: res = "Operação inválida" print(f"Resultado: {res}")