Funções em Python: criando e usando – como passar argumentos, retorno e boas práticas
Neste guia, vamos abordar:
Como passar argumentos para funções
Como retornar valores
Exemplos práticos e exercícios
Vamos lá! 🚀
1️⃣ O que é uma função?
Uma função é um conjunto de instruções que executa uma tarefa específica.
Sintaxe básica:
def nome_da_funcao():
# bloco de código
print("Esta é uma função!")
Chamando a função:
nome_da_funcao()
Saída:
Esta é uma função!
def
indica que estamos definindo uma função, seguido pelo nome e parênteses. O bloco indentado contém as instruções.
2️⃣ Funções com argumentos
Argumentos permitem passar informações para a função, tornando-a mais flexível.
Exemplo:
def saudacao(nome):
print(f"Olá, {nome}!")
saudacao("Thales")
Saída:
Olá, Thales!
Múltiplos argumentos:
def soma(a, b):
print(a + b)
soma(10, 5) # 15
Argumentos padrão
Você pode definir valores padrão para argumentos:
def saudacao(nome="Amigo"):
print(f"Olá, {nome}!")
saudacao() # Olá, Amigo!
saudacao("Ana") # Olá, Ana!
3️⃣ Retornando valores
Funções podem retornar valores usando a palavra-chave return
. Isso permite que você use o resultado em outras partes do programa.
Exemplo:
def soma(a, b):
return a + b
resultado = soma(10, 5)
print("Resultado:", resultado)
Saída:
Resultado: 15
Retornando múltiplos valores
def operacoes(a, b):
soma = a + b
produto = a * b
return soma, produto
s, p = operacoes(3, 4)
print("Soma:", s, "Produto:", p)
Saída:
Soma: 7 Produto: 12
4️⃣ Funções com argumentos nomeados
Python permite passar argumentos pelo nome, tornando o código mais legível.
def apresentar(nome, idade):
print(f"Nome: {nome}, Idade: {idade}")
apresentar(idade=30, nome="Thales")
Saída:
Nome: Thales, Idade: 30
Isso é útil quando há vários argumentos ou queremos evitar erros de ordem.
5️⃣ Funções com argumentos arbitrários
*args
→ lista de argumentos
def soma_numeros(*args):
return sum(args)
print(soma_numeros(1, 2, 3, 4)) # 10
**kwargs
→ dicionário de argumentos nomeados
def apresentar_informacoes(**kwargs):
for chave, valor in kwargs.items():
print(f"{chave}: {valor}")
apresentar_informacoes(nome="Thales", idade=30, cidade="Curitiba")
Saída:
nome: Thales
idade: 30
cidade: Curitiba
*args
e**kwargs
tornam a função flexível e dinâmica.
6️⃣ Boas práticas ao criar funções
Nomes claros: Use nomes que indiquem o que a função faz, ex.:
calcular_media()
.Função pequena: Prefira funções que façam uma única tarefa.
Comentários e docstrings: Explique o que a função faz.
def soma(a, b):
"""
Retorna a soma de dois números.
"""
return a + b
Evite efeitos colaterais: Funções devem retornar valores em vez de modificar variáveis externas diretamente, sempre que possível.
Reutilização: Sempre que perceber que um trecho de código se repete, transforme em função.
7️⃣ Exemplos práticos do dia a dia
a) Calculando a média de notas
def calcular_media(notas):
return sum(notas) / len(notas)
notas_aluno = [8, 7.5, 9]
media = calcular_media(notas_aluno)
print("Média do aluno:", media)
b) Verificando idade mínima
def pode_dirigir(idade):
return idade >= 18
idade_usuario = 20
if pode_dirigir(idade_usuario):
print("Pode dirigir")
else:
print("Não pode dirigir")
c) Saudações personalizadas
def saudacao(nome, cargo="Visitante"):
print(f"Olá, {nome}! Seu cargo é: {cargo}")
saudacao("Thales") # Olá, Thales! Seu cargo é: Visitante
saudacao("Ana", cargo="Gerente") # Olá, Ana! Seu cargo é: Gerente
8️⃣ Exercícios para praticar
Crie uma função
quadrado()
que recebe um número e retorna seu quadrado.Crie uma função
area_retangulo(base, altura)
que retorna a área de um retângulo.Crie uma função
imprimir_lista(*args)
que recebe qualquer quantidade de elementos e imprime cada um em uma linha.Crie uma função
verificar_par(numero)
que retornaTrue
se o número for par eFalse
caso contrário.Crie uma função
calcular_media_notas(**kwargs)
que recebe nomes de alunos e suas notas, e retorna um dicionário com a média de cada aluno.
9️⃣ Conclusão
Funções são a base para escrever programas organizados, reutilizáveis e eficientes em Python. Com elas, você pode:
Reduzir repetição de código
Modularizar seu programa em blocos lógicos
Trabalhar com argumentos e retornos flexíveis
Tornar o código legível e fácil de manter
Próximo passo: combinar funções com loops e condicionais para criar programas mais complexos e dinâmicos.
Comentários
Postar um comentário