Submódulo 3: Funções: definição, parâmetros, retorno e escopo
Site: | Lumina |
Curso: | Python para Iniciantes: Lógica e Programação |
Livro: | Submódulo 3: Funções: definição, parâmetros, retorno e escopo |
Impresso por: | Usuário visitante |
Data: | quarta-feira, 17 set. 2025, 21:05 |
Descrição
Este submódulo aprofunda o papel das funções em Python, mostrando como defini-las com def, como trabalhar com parâmetros (incluindo valores padrão e argumentos nomeados), como retornar resultados com return e como o escopo (local vs global) influencia o comportamento do código. Vamos construir uma base sólida para estruturar o portfólio, com exemplos práticos como soma de números, verificação de palíndromos e formatação de saídas, além de exercícios para consolidar o aprendizado. Ao final, você estará apto a modularizar pequenos projetos e a pensar em reutilização de código.
Definição de Funções: 'def', assinatura e retorno básico
🎯 Definição de Funções: por que usar e como começar
Vamos entender o conceito central por trás das funções: encapsular uma tarefa com um nome significativo para reutilizá-la e manter o código organizado. Imagine que você precisa somar dois números várias vezes no mesmo programa; em vez de repetir o código, criamos uma função chamada soma. Em Python, definimos funções com a palavra-chave def, seguida pelo nome da função, um conjunto de parâmetros entre parênteses e dois pontos. O corpo da função fica indentado, e o valor de retorno é especificado com return. Exemplo básico: def soma(a, b): return a + b. Ao chamar soma(3, 5), obtemos 8 como resultado imediato. (1)
def soma(a, b):
"""Retorna a soma de dois números."""
return a + b
Notas importantes: o nome da função deve ser descritivo e o corpo da função deve realizar apenas uma tarefa bem definida. Docstrings ajudam a documentar o propósito da função para quem lê o código, por exemplo: def soma(a, b): """Retorna a soma de dois números.""". (2)
Além disso, o escopo define onde as variáveis existem. Variáveis criadas dentro da função são locais e não alteram o estado do módulo por padrão. Este é um ponto crucial para evitar efeitos colaterais indesejados. (3)
Exercício rápido: crie uma função simples que recebe dois números e retorna o maior entre eles. Em seguida, chame a função com diferentes pares para observar o resultado.
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)
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.).
🎯 Exercícios
🎯 Exercícios: Funções: definição, parâmetros, retorno e escopo
Teste seus conhecimentos com estas questões de múltipla escolha. Cada questão tem apenas uma resposta correta.
O que define uma função em Python?
Qual é a palavra-chave usada para definir uma função em Python?
Para retornar um valor de uma função, qual instrução deve ser usada?
Qual é o papel da indentação na definição de uma função?
O que é uma docstring em Python e qual é seu objetivo?