// aula 05 · Python · Fundamentos

Funções em
Python


O que é uma função?

📦 Um bloco de código com nome e reutilizável

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.

💡 Por que usar funções?

  • Evita repetir o mesmo bloco de código em vários lugares
  • Facilita a leitura e a manutenção do programa
  • Permite testar partes do código de forma isolada
  • Divide problemas grandes em partes menores e gerenciáveis

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!
def

Palavra-chave que define uma função. Seguida do nome e parênteses com os parâmetros.

parâmetros

Variáveis que a função recebe como entrada. São locais à função.

return

Devolve um valor para quem chamou a função. Sem ele, a função retorna None.


Tipos de função

Sem parâmetro sem retorno

A mais simples — só executa, não recebe nada e não devolve nada.

def oi():
    print("Olá!")

oi() # → Olá!

Com parâmetro sem retorno

Recebe dados, mas não devolve — apenas age sobre eles (ex: imprimir).

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

oi("Lucilia")

Com parâmetro com retorno

A mais comum — recebe dados, processa e devolve um resultado.

def soma(a, b):
    return a + b

r = soma(3, 5)
# r = 8

Valor padrão nos parâmetros

Parâmetros podem ter valores default — se não passado, usa o padrão.

def potencia(base, exp=2):
    return base ** exp

potencia(3) # → 9
potencia(2, 10) # → 1024

Escopo de variáveis — local vs global

🔭 Onde a variável "existe"?

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

print()

Exibe valores no terminal. Pode receber múltiplos argumentos e o separador sep.

input()

Lê um texto digitado pelo usuário. Sempre retorna string.

type()

Retorna o tipo de um valor: int, str, float, bool...

len()

Retorna o tamanho (número de itens) de uma string, lista, etc.

range()

Gera uma sequência de números. Usado principalmente com for.

int / float / str

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}")