Funções em Python: Como Criar e Utilizar

As funções em Python são uma das ferramentas mais poderosas e úteis da linguagem. Elas ajudam a organizar o código, evitar repetições e facilitar a manutenção de programas. Neste artigo, vamos explicar tudo o que você precisa saber para criar e usar funções em Python, mesmo que esteja começando do zero.

O Que São Funções?

Funções são blocos de código que executam uma tarefa específica. Você pode usá-las várias vezes no programa sem precisar escrever tudo de novo. Isso deixa o código mais limpo e fácil de entender.

Por Que Usar Funções?

  • Organizam o código em partes menores
  • Permitem reuso de código
  • Facilitam testes e correções
  • Ajudam a dividir um problema em partes menores

Vamos ver como isso funciona na prática.


Como Criar Funções em Python

Para criar uma função, usamos a palavra-chave def. Ela vem da palavra “define” (definir, em inglês).

Estrutura Básica de uma Função

Python
def nome_da_funcao():
    # código que a função vai executar

Exemplo Simples

Python
def diga_ola():
    print("Olá, tudo bem?")

Para usar (ou “chamar”) essa função, escrevemos:

Python
diga_ola()

A saída será:

Python
Olá, tudo bem?

Parâmetros: Enviando Dados para a Função

Às vezes, queremos que a função use dados diferentes. Para isso, usamos parâmetros.

Exemplo com Parâmetro

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

Chamando a função com um nome:

Python
saudacao("Ana")

Saída:

Python
Olá, Ana!

Você pode usar quantos parâmetros precisar:

Python
def apresentar(nome, idade):
    print(f"Meu nome é {nome} e tenho {idade} anos.")

Retorno de Dados com return

Funções também podem devolver um resultado. Isso é feito com a palavra-chave return.

Exemplo com Retorno

Python
def soma(a, b):
    return a + b
Python
resultado = soma(5, 3)
print(resultado)

Saída:

Python
8

O return encerra a função e devolve o valor.


Diferença Entre print() e return

Açãoprint()return
O que faz?Mostra na telaDevolve um valor para ser usado
Quando usar?Para exibir resultadosQuando precisar usar o valor depois

Exemplo Comparativo

Python
def exemplo_print():
    print("Resultado com print")

def exemplo_return():
    return "Resultado com return"

exemplo_print()
print(exemplo_return())

Parâmetros Opcionais (Com Valor Padrão)

Você pode definir um valor padrão para um parâmetro.

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

Chamadas possíveis:

Python
saudacao("Maria")
saudacao()

Saída:

Python
Olá, Maria!
Olá, visitante!

Funções com Múltiplos Retornos

Você pode devolver mais de um valor com return.

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

soma, subtracao = operacoes(10, 5)
print(soma, subtracao)

Funções Dentro de Funções

É possível definir uma função dentro de outra.

Python
def externa():
    def interna():
        print("Sou a função interna.")
    interna()

Isso é útil para organizar melhor blocos de código menores que só fazem sentido dentro de uma função maior.


Boas Práticas com Funções

  • Dê nomes claros e descritivos (ex: calcula_media, valida_email)
  • Faça uma coisa por função
  • Evite funções muito longas
  • Comente o que cada função faz, se necessário

Funções Anônimas (Lambda)

Às vezes, precisamos de funções muito simples, de apenas uma linha. Para isso, usamos lambda.

Exemplo

Python
dobro = lambda x: x * 2
print(dobro(4))  # Saída: 8

Essas funções são úteis em códigos curtos ou quando usadas junto com funções como map() ou filter().


Exemplos Práticos com Funções

1. Calculadora Simples

Python
def calculadora(a, b, operacao):
    if operacao == "soma":
        return a + b
    elif operacao == "subtracao":
        return a - b
    elif operacao == "multiplicacao":
        return a * b
    elif operacao == "divisao":
        return a / b
    else:
        return "Operação inválida"

2. Verificação de Número Par

Python
def eh_par(numero):
    return numero % 2 == 0

Parâmetros Especiais: *args e **kwargs

*args (Argumentos Posicionais)

Permite passar vários valores sem saber a quantidade.

Python
def soma_todos(*numeros):
    return sum(numeros)

print(soma_todos(1, 2, 3, 4))  # Saída: 10

**kwargs (Argumentos Nomeados)

Permite passar vários pares chave=valor.

Python
def exibe_dados(**dados):
    for chave, valor in dados.items():
        print(f"{chave}: {valor}")

exibe_dados(nome="João", idade=30)

Escopo de Variáveis

Escopo é o local onde a variável existe.

  • Global: fora de qualquer função
  • Local: dentro de uma função
Python
nome = "João"  # escopo global

def exibe_nome():
    nome = "Maria"  # escopo local
    print(nome)

exibe_nome()
print(nome)

Saída:

Python
Maria
João

Recursão: Funções Que Chamam a Si Mesmas

Recursão é quando uma função chama ela mesma. É útil em alguns casos, como calcular fatorial.

Python
def fatorial(n):
    if n == 0:
        return 1
    else:
        return n * fatorial(n - 1)

Onde Usar Funções no Dia a Dia

Você pode usar funções para:

  • Calcular descontos
  • Validar senhas
  • Organizar cadastros
  • Separar lógica em projetos maiores

Exemplo de Cadastro Simples

Python
def cadastrar_usuario(nome, email):
    print(f"Usuário {nome} cadastrado com e-mail {email}")

Conclusão

As funções em Python são fundamentais para qualquer projeto, seja pequeno ou grande. Elas tornam o código mais limpo, organizado e fácil de manter. Saber como criar, usar e combinar funções vai ajudar você a evoluir como programador.

Comece com funções simples. Com o tempo, use parâmetros, retornos, e boas práticas. Logo, você estará escrevendo programas muito mais eficientes e profissionais.

Artigos recentes

Aprenda Python do Zero

Domine Python de forma prática e objetiva com um curso completo pensado para você

Cadastro gratuito

Conteúdo do artigo

    Aprenda Python Hoje Mesmo!

    Comece Gratuitamente!

    Cadastre-se e experimente algumas aulas grátis do nosso curso de Python. Sem compromisso!

    © Academify 2020-2025. Todos os direitos reservados.

    Informe seus dados e continue para o pagamento

    Suas informações estão 100% seguras

    Informe seus dados e continue para o pagamento

    Suas informações estão 100% seguras

    Teste gratuitamente as aulas do curso completo de Python

    🔒 Acesso imediato, sem spam e sem compromisso

    Experimente algumas aulas grátis!

    Digite seu e-mail e tenha acesso imediato a algumas aulas do Curso Completo de Python.

    🔒 Acesso imediato, sem spam e sem compromisso

    Abrir bate-papo
    1
    Tire suas dúvidas com a nossa equipe!
    Olá! 👋 Está com dúvidas sobre o curso? Fale com a nossa equipe!