Por que declarar uma função dentro de outra função no Python
Neste artigo veremos o porque declarar uma função dentro de outra função e também o que isso impacta no código, será que podemos nos beneficiar desta técnica?

Fala programador(a), beleza? Bora aprender mais sobre Python e funções!
Esta técnica, de declarar funções dentro de funções, é conhecida também como encapsulamento
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
Suponha que você tem uma repetição dentro de uma função do mesmo código, então a melhor alternativa é encapsular este código em uma função
E caso esta porção de código não seja utilizada fora desta função principal, não faz sentido colocar esta função interna no escopo global, por exemplo
Isso é melhor por que não bagunçamos o escopo global, adicionando mais código para os programadores verificarem e testarem

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Ao invés disso nós inserimos esta nova função só no contexto que será utilizada
E isso não é uma prática só no Python, e sim em todas as outras linguagens de programação
Vamos ver um exemplo:
def recebeNumero(num):
resultado = 0
def trataNumero(num):
if(num < 0):
return num + 5
else:
return num - 5
for x in range(5):
resultado += trataNumero(num)
print(resultado)
recebeNumero(10)

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Aqui temos um for dentro da função recebeNumero, que invoca diversas vezes a função trataNumero
Então utilizando este encapsulamento poderíamos chamar ela em outra condição também, partindo do pre suposto que ela não será utilizada fora deste contexto
As condicionais poderiam ficar dentro do for, mas daí perderíamos o poder de reutilização e o código ficaria um pouco mais complexo de ler
Conclusão
Neste artigo vimos por que declarar uma função dentro de outra função
É uma questão de organização de código somada a possível reutilização, deixando o código com mais manutenibilidade
Além de que isso não é uma prática exclusiva de Python, e sim de todas as linguagens de programação
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares

Como limitar números decimais em Python?
Adicionar uma seção sobre f-strings, o jeito mais usado hoje pra formatar casa decimal. Exemplo: valor = 3.14159 e print(f"{valor:.2f}") mostrando 3.14. Explicar que o […]

Como inverter uma string em Python
Neste artigo você vai aprender a como inverter uma string em Python, de uma maneira simples para você utilizar em seus programas Conteúdo também disponível […]
Como programar Python [dicas e códigos iniciantes aqui]
Python é uma linguagem de programação muito popular e uma de alto nível utilizada em diferentes tipos de aplicações, como para o desenvolvimento web, em Machine […]
