⊗pyPmFnIFN 22 of 129 menu

Matices al trabajar con funciones internas en Python

En Python no solo puede haber funciones anidadas, sino que una función puede devolver otra. Por ejemplo, supongamos que la función outer devuelve como resultado el código fuente de la función inner:

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

Escribamos la llamada a outer en la variable res:

res = outer() print(res)

Después de ejecutar el código, se mostrará un objeto de función:

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

Si llamamos a la variable res con paréntesis, se devolverá el mensaje '+++':

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

Se puede reescribir el código para que en res se escriba outer con dos pares de paréntesis - para llamar a sí misma y a la función inner. De lo cual se deduce que se pueden escribir paréntesis adicionales a la derecha de la función externa según la cantidad de funciones anidadas en ella:

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

Se da el siguiente código:

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

Digamos qué se mostrará en la consola.

Se da el siguiente código:

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

Digamos qué se mostrará en la consola.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar