Funções Aninhadas
Deslize para mostrar o menu
Quando você deseja organizar seu código para melhor legibilidade, encapsulamento ou reutilização, pode definir uma função dentro de outra função. Essas são chamadas de funções aninhadas. Em Python, você cria uma função aninhada escrevendo uma definição de função dentro do corpo de outra. Isso permite ocultar lógicas auxiliares que não devem ser acessíveis externamente ou gerar funções especializadas dinamicamente.
A sintaxe para uma função aninhada é simples: basta colocar uma declaração def dentro do corpo de outra def. A função interna pode acessar variáveis da função que a envolve, o que é útil para criar comportamentos personalizados ou cálculos auxiliares que dependem dos argumentos da função externa.
Um uso prático de funções aninhadas é retornar uma função personalizada com parâmetros da função externa. Isso é frequentemente utilizado em programação funcional para gerar funções especializadas ou encapsular lógicas que não devem poluir o escopo global.
1234567891011def make_multiplier(factor): # 'multiplier' function is nested inside 'make_multiplier' def multiplier(x): return x * factor return multiplier double = make_multiplier(2) triple = make_multiplier(3) print(double(5)) print(triple(4))
1. Por que você pode definir uma função dentro de outra função?
2. Qual é o escopo de uma variável definida em uma função envolvente?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo