Pular para o conteúdo
</>RoByte

Buscar cursos e aulas

Aulas do curso

Vídeo em breve

Por enquanto, esta aula está disponível só em texto — o vídeo entra assim que ficar pronto.

Funções

Definindo funções

Organizando código em blocos reutilizáveis com def, parâmetros, valores de retorno e parâmetros padrão. · 15 min

Código no GitHub

Repare que, até aqui, quando você precisava fazer a mesma conta duas vezes, copiava e colava o código. Uma função é um bloco de código com nome que você pode chamar quantas vezes quiser — a ferramenta nº 1 para não repetir código.

Criando e chamando uma função

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

saudacao("Ada")      # Olá, Ada!
saudacao("Grace")    # Olá, Grace!

nome aqui é um parâmetro: um valor que a função recebe de fora. Cada vez que você chama saudacao(...), o texto entre parênteses vira o nome usado dentro da função.

Devolvendo um valor com return

print() só mostra algo na tela; não devolve nada para ser usado depois. Para uma função “devolver” um resultado que o resto do programa pode usar, use return:

def dobro(numero):
    return numero * 2

resultado = dobro(21)
print(resultado)  # 42

Atenção

return encerra a função imediatamente — qualquer código depois dele, dentro da mesma função, nunca é executado. E uma função sem return devolve None por padrão.

Vários parâmetros e parâmetros com valor padrão

def apresentar(nome, idade, cidade="não informada"):
    return f"{nome}, {idade} anos, de {cidade}."

print(apresentar("Ada", 28, "São Paulo"))
print(apresentar("Alan", 41))  # usa "não informada" pra cidade

Parâmetros com valor padrão (cidade="não informada") são opcionais na hora de chamar a função.

Dica

Dê nomes de verbo para funções que fazem algo (calcular_media, enviar_email) e nomes de substantivo para variáveis. Isso torna o código muito mais fácil de ler seis meses depois.

Por que isso importa

Funções também ajudam a organizar o raciocínio: em vez de um programa inteiro em sequência, você passa a pensar em pedaços pequenos e testáveis — “uma função que calcula a média”, “uma função que valida um CPF” — que se combinam para formar o programa completo.

Exercícios

Exercício

1. Aquecimento. Escreva uma função eh_par(numero) que devolve True se o número for par e False caso contrário (reaproveite o % da aula de operadores).

Exercício

2. Com lista. Escreva uma função media(lista_de_numeros) que recebe uma lista e devolve a média dos valores. Teste com pelo menos duas listas diferentes.

Exercício

3. Desafio. Escreva uma função contar_ocorrencias(lista) que recebe uma lista de qualquer coisa (strings, números) e devolve um dicionário com quantas vezes cada item aparece — é o exercício 3 da aula de dicionários, mas agora como função reutilizável, sem print dentro dela (só return).