Em Python, as funções são "cidadãos de primeira classe" (first-class citizens), o que significa que elas podem ser tratadas como qualquer outra variável: podem ser passadas como argumento para outras funções, retornadas por outras funções e atribuídas a variáveis. Essa característica abre portas para padrões de programação mais avançados, como as higher-order functions e os decoradores.
2.7.1 Funções como Cidadãos de Primeira Classe