⊗pyPmFnIFN 22 of 129 menu

Nuances ao trabalhar com funções internas em Python

Em Python, não só podem existir funções aninhadas, mas uma função também pode retornar outra. Por exemplo, suponha que a função outer retorne como resultado o código fonte da função inner:

def outer(): def inner(): return '+++' return inner

Vamos armazenar a chamada de outer na variável res:

res = outer() print(res)

Após a execução do código, será exibido um objeto de função:

<function outer.<locals>.inner at 0x000001564A212B90>

Se a variável res for chamada com parênteses, a mensagem '+++' será retornada:

print(res()) # exibirá '+++'

O código pode ser reescrito para que res armazene outer com dois pares de parênteses - para chamar a si mesma e a função inner. Disso segue que parênteses adicionais podem ser adicionados à direita da função externa, de acordo com a quantidade de funções nela aninhadas:

res = outer()() print(res) # exibirá '+++'

Dado o seguinte código:

def outer(): def inner(num): return num + 2 return inner res = outer()(3) print(res)

Digite o que será exibido no console.

Dado o seguinte código:

def outer(): def inner(txt): return 'hello, ' + txt return inner res = outer() print(res)

Digite o que será exibido no console.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar