Python/Fundamentos/Funções e Lambda
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