← Blog

Funções em Python: Guia Completo para Iniciantes

17 de julho de 2026pythonfunçõesiniciantes

Se você está aprendendo Python, uma hora vai bater na parede das funções. Elas são como receitas de bolo: você define os ingredientes e os passos uma vez, e depois pode chamar sempre que quiser fazer aquele bolo. Sem funções, seu código vira uma sopa de repetições, difícil de ler e de manter.

A ideia é simples: isolar um bloco de código com um nome, e poder executá-lo quantas vezes precisar, com diferentes valores de entrada.

Criando sua primeira função

Em Python, a palavra-chave def inicia a definição. Depois vem o nome, parênteses com os parâmetros (opcionais) e dois pontos. O corpo é indentado.

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

saudacao("Ana")  # Saída: Olá, Ana!
saudacao("João") # Saída: Olá, João!

Repare: nome é um parâmetro. Quando chamamos saudacao("Ana"), o valor "Ana" é passado como argumento. A função imprime a saudação. Simples.

Parâmetros com valor padrão

E se o usuário não passar um nome? Podemos definir um valor padrão. Isso deixa a função mais flexível.

def saudacao(nome="visitante"):
    print(f"Olá, {nome}!")

saudacao()         # Olá, visitante!
saudacao("Carlos") # Olá, Carlos!

Cuidado com a ordem: parâmetros sem valor padrão vêm primeiro, depois os com valor padrão. Senão, Python reclama.

# Isso funciona
def exemplo(a, b=10):
    return a + b

# Isso dá erro de sintaxe
def exemplo_errado(a=5, b):
    return a + b

Retorno de valores

Nem toda função precisa imprimir. Às vezes você quer que ela calcule algo e devolva o resultado. Use return.

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

total = soma(5, 3)
print(total)  # 8

Uma função pode retornar vários valores como uma tupla. Muito útil.

def operacoes(a, b):
    return a + b, a - b, a * b

soma, diferenca, produto = operacoes(10, 3)
print(f"Soma: {soma}, Diferença: {diferenca}, Produto: {produto}")

Funções que chamam funções

Você pode compor funções. A saída de uma vira entrada de outra. Isso é a base de código modular.

def dobro(x):
    return x * 2

def quadrado(x):
    return x ** 2

def calcular(a, b):
    return dobro(a) + quadrado(b)

resultado = calcular(3, 4)
print(resultado)  # 6 + 16 = 22

Essa separação facilita testar cada parte isoladamente.

Escopo de variáveis

Variáveis dentro da função não vazam para fora. E variáveis fora não são visíveis dentro, a menos que sejam passadas como argumento (ou declaradas com global, mas evite isso).

x = 10  # variável global

def funcao():
    x = 5  # variável local, diferente da global
    print(f"Dentro: {x}")

funcao()  # Dentro: 5
print(f"Fora: {x}")  # Fora: 10

Entender escopo evita bugs bizarros que parecem mágica (e não é mágica boa).

Exercício rápido para fixar

Crie uma função que recebe uma lista de números e retorna a média. Se a lista for vazia, retorne 0.

def media(lista):
    if not lista:
        return 0
    return sum(lista) / len(lista)

print(media([10, 20, 30]))  # 20.0
print(media([]))            # 0

Simples, né? Agora pense: e se a lista tiver strings? A função quebraria. Tratar entradas inesperadas é o próximo passo.

Um degrau acima: type hints

Python permite anotar tipos nos parâmetros e no retorno. Não é obrigatório, mas ajuda na leitura e em ferramentas de análise.

def saudacao(nome: str) -> str:
    return f"Olá, {nome}!"

msg = saudacao("Ana")
print(msg)  # Olá, Ana!

O tipo não é verificado em tempo de execução, mas editores como VS Code mostram erros se você passar um número onde espera string.

O que vem depois

Funções são o tijolo básico. Com elas, você pode construir programas maiores sem repetir código. O próximo passo natural é aprender sobre módulos e como organizar funções em arquivos separados.

Se quiser praticar mais, crie um pequeno programa que usa funções para calcular o IMC, converter temperaturas ou validar CPF. Cada funcionalidade vira uma função. Depois você junta tudo.

E falando em praticar, o site MeuPasso (meupasso.com.br) tem desafios diários de Python que começam simples e aumentam gradualmente. Ideal para fixar funções sem achar que está estudando.

Agora vá escrever suas próprias funções. Comece com algo que você usa no dia a dia — uma calculadora de gorjeta, um conversor de moedas. O importante é criar o hábito de quebrar problemas em partes menores.