⊗pyPmFnIFN 22 of 129 menu

Subtilités lors de l'utilisation des fonctions internes en Python

En Python, il peut non seulement y avoir des fonctions imbriquées, mais une fonction peut également en retourner une autre. Par exemple, supposons que la fonction outer retourne comme résultat le code source de la fonction inner :

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

Enregistrons l'appel de outer dans la variable res :

res = outer() print(res)

Après l'exécution du code, l'objet de la fonction sera affiché :

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

Si on appelle la variable res avec des parenthèses, le message '+++' sera retourné :

print(res()) # affichera '+++'

On peut réécrire le code pour que res contienne outer avec deux paires de parenthèses - pour appeler elle-même et la fonction inner. Il s'ensuit que l'on peut ajouter des parenthèses supplémentaires à droite de la fonction externe selon le nombre de fonctions qu'elle imbrique :

res = outer()() print(res) # affichera '+++'

Voici le code suivant :

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

Dites ce qui sera affiché dans la console.

Voici le code suivant :

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

Dites ce qui sera affiché dans la console.

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