Pular para o conteúdo
Arquivo vivo · 100% gratuito · conteúdo versionado e revertível
Instituto Lúcia

Programação · Ensino médio · aula 7 de 7 · ~2 min de leitura

Funções em Python

Como dar nome a um trecho de código, passar valores para ele e receber uma resposta.

Esta aula ainda aguarda revisão da comunidade. Achou um erro? Sugira uma correção.

Por que criar funções

Você já usa funções prontas: print, input, len, sum. Agora vai criar as suas. Uma função é um trecho de código com nome, que pode ser usado quantas vezes for preciso. As vantagens:

  • escrever uma vez e usar muitas;
  • consertar em um lugar só;
  • dividir um problema grande em partes pequenas, cada uma com um nome que explica o que faz.

Definir e chamar

def saudacao():
    print("Bom dia!")
    print("Seja bem-vinda ao Instituto Lúcia.")

saudacao()
saudacao()

Testar este código →

def define a função: ensina ao Python o que ela faz, mas não executa nada. É a chamada, saudacao(), que faz o bloco rodar. Aqui ele roda duas vezes.

Parâmetros

Entre os parênteses ficam os parâmetros: valores que a função recebe para trabalhar.

def saudacao(nome):
    print(f"Bom dia, {nome}!")

saudacao("Marta")
saudacao("João")

Testar este código →

Devolvendo um resultado com return

Mostrar na tela e devolver um valor são coisas diferentes. return entrega o resultado a quem chamou a função, que pode guardá-lo e usá-lo:

def area_retangulo(largura, altura):
    return largura * altura

sala = area_retangulo(4, 5)
quarto = area_retangulo(3, 3)
print("Área total:", sala + quarto)

Testar este código →

Se a função apenas imprimisse a área, não daria para somar as duas depois. Regra prática: funções que calculam devem usar return; quem decide o que mostrar é o programa principal.

Assim que o return é executado, a função termina.

O que mostra este programa? def dobro(n): return n * 2 … print(dobro(dobro(3)))

Valor padrão

Um parâmetro pode ter um valor que vale quando nada é informado:

def preco_final(valor, desconto=0):
    return valor - valor * desconto / 100

print(preco_final(200))
print(preco_final(200, 10))

Testar este código →

Variáveis locais

O que é criado dentro da função fica dentro da função:

def calcula():
    resultado = 10 * 2
    return resultado

print(calcula())

Testar este código →

Tentar usar resultado fora da função causa um NameError. Isso é bom: cada função tem a sua própria mesa de trabalho e não bagunça a das outras.

Um exemplo completo

def media(valores):
    return sum(valores) / len(valores)

def situacao(nota):
    if nota >= 6:
        return "aprovado"
    return "recuperação"

notas = [7.5, 4.0, 6.5]
m = media(notas)
print(f"Média {m:.1f}: {situacao(m)}")

Testar este código →

Cada função faz uma coisa só e tem um nome que diz o que é. Ler o programa principal fica quase como ler uma frase.

Para praticar

  1. Escreva eh_par(n), que devolve True se o número for par.
  2. Escreva maior(a, b), que devolve o maior de dois números, sem usar max.
  3. Escreva celsius_para_fahrenheit(c). A fórmula é F = C × 9 / 5 + 32.

Teste o que você aprendeu

  1. 1. Qual palavra cria uma função em Python?

  2. 2. Qual é a diferença entre print e return dentro de uma função?

  3. 3. Uma variável criada dentro de uma função pode ser usada fora dela?

Fontes desta aula

Por Instituto Lúcia · Última alteração em 08/10/2026 · 1 versão guardada · Licença CC BY-SA 4.0

Sugerir correçãoTexto puroDenunciar