⊗pyPmFnFIF 20 of 129 menu

Fonction dans une fonction en Python

En Python, il est possible de déclarer des fonctions à l'intérieur d'autres fonctions. Supposons que nous ayons une fonction externe outer, à l'intérieur de laquelle se trouve la fonction inner :

def outer(): def inner(): pass

L'exemple ci-dessus semble assez simple. Cependant, il arrive souvent que dans le corps de la fonction outer, en dehors de inner, d'autres opérations soient exécutées. Pour simplifier le code, on pourrait sortir inner dans le bloc externe, mais cette fonction ne sera utilisée qu'une seule fois et seulement à l'intérieur de la fonction outer. Il n'est donc pas judicieux de la sortir.

Prenons un exemple où une liste est passée à la fonction outer. Et à l'aide de la fonction inner, l'élément numérique de la liste sera élevé au carré. Pour cela, après la fonction inner, nous déclarons une liste vide res, dans laquelle s'accumuleront les éléments élevés au carré dans une boucle :

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

Appelons la fonction outer, passons-lui un paramètre de liste et affichons le résultat dans la console :

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

Écrivez une fonction externe et une fonction interne dont le travail conjoint affichera chaque élément de type chaîne de caractères de la liste avec une majuscule.

Les fonctions suivantes sont données :

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

Réécrivez le code de manière à ce que func1 soit une fonction interne de func2.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser