Python⏱ ~2 min de leitura
Funções e Lambda
def e lambda
Em Python, funções são definidas com a palavra-chave def. São objetos de primeira classe — podem ser passadas como argumentos, retornadas de outras funções e atribuídas a variáveis.
Python suporta parâmetros padrão, argumentos nomeados (keyword arguments), *args para capturar quantidades variáveis de argumentos posicionais e **kwargs para argumentos nomeados extras.
Lambdas são funções anônimas de uma única expressão — úteis para callbacks curtos. Funções podem retornar múltiplos valores implicitamente através de tuplas.
Exemplo.java
# Função básica
def somar(a, b):
return a + b
# Parâmetros padrão
def saudar(nome, saudacao="Olá"):
return f"{saudacao}, {nome}!"
saudar("Ana") # "Olá, Ana!"
saudar("Bob", "Oi") # "Oi, Bob!"
# *args e **kwargs
def info(*args, **kwargs):
print(args) # tupla dos posicionais
print(kwargs) # dict dos nomeados
info(1, 2, 3, nome="Ana", cidade="SP")
# Múltiplos retornos
def minmax(lista):
return min(lista), max(lista)
menor, maior = minmax([3, 1, 4, 1, 5, 9])
# Lambda
dobrar = lambda x: x * 2
quadrado = lambda x: x ** 2
print(sorted([3,1,2], key=lambda x: -x)) # [3, 2, 1]💡 Dica pro
Evite lambdas complexas — se precisar de lógica maior, use def com um nome descritivo.
Recompensa+40 XP+exercícios