⊗pyPmFnFIF 20 of 129 menu

Función dentro de función en Python

En Python, dentro de unas funciones se pueden declarar otras. Supongamos que tenemos una función externa outer, dentro de la cual se encuentra la función inner:

def outer(): def inner(): pass

El ejemplo anterior parece bastante simple. Sin embargo, a menudo hay situaciones en las que en el cuerpo de la función outer además de inner se realizan otras operaciones. Para simplificar el código, se podría sacar inner al bloque externo de código, pero esta función se usará solo una vez y solo dentro de la función outer. Por lo tanto, no tiene sentido sacarla más allá de sus límites.

Consideremos un ejemplo en el que a la función outer se le pasa una lista. Y con la ayuda de la función inner el elemento numérico de la lista se elevará al cuadrado. Para ello, después de la función inner declaramos una lista vacía res, en la cual se acumularán los elementos elevados al cuadrado en un ciclo:

def outer(lst): def inner(num): return num ** 2 res = [] for el in lst: res.append(inner(el)) return res

Llamemos a la función outer, pasémosle como parámetro una lista y mostremos el resultado en la consola:

print(outer([2, 3, 5])) # mostrará [4, 9, 25]

Escriba una función externa y una interna, cuya trabajo conjunto muestre cada elemento de cadena de la lista con la primera letra en mayúscula.

Se dan las funciones:

def func1(num): if num > 0: num += 2 return num def func2(iter): res = [] for el in iter: res.append(func1(el)) return res

Reescriba el código para que func1 sea una función interna de func2.

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