Parâmetros, Retorno e Escopo: assinaturas, valores padrão e visibilidade

🎯 Parâmetros, Retorno e Escopo

Agora vamos aos detalhes da assinatura de uma função: parâmetros são as entradas que a função recebe para realizar uma tarefa. Parâmetros podem ser obrigatórios ou ter valores padrão; em Python, valores padrão devem ficar após os parâmetros obrigatórios. Um exemplo simples: def maximo(a, b=0): return a if a > b else b. Quando a função é chamada com maximo(3, 5) obtemos 5; com maximo(3) obtemos 3. (1)

def maximo(a, b=0):
    """Retorna o maior entre 'a' e 'b'."""
    return a if a > b else b

O retorno pode ser explícito com return ou, se não houver retorno, a função retorna Nenhum valor (None). (2)

def sem_retorno(valor):
    print(valor)

Sobre o escopo, variáveis declaradas dentro de uma função são locais. Se precisarmos modificar variáveis do nível do módulo, usamos global ou nonlocal em casos mais complexos (veja referências). (3)

graph TD; Parametros---Retorno---Escopo

Exercícios: (a) crie uma função que recebe dois números e retorna o maior entre eles; (b) implemente uma função que verifica se uma string é palíndromo e explique o que acontece se a string contiver espaços ou maiúsculas; (c) crie uma função que normalize textos para apresentação (remova espaços, padronize maiúsculas, etc.).