⊗pyPmFnIFN 22 of 129 menu

Nuances bij het werken met interne functies in Python

In Python kunnen er niet alleen geneste functies zijn, maar één functie kan ook een andere retourneren. Stel, functie outer retourneert als resultaat de broncode van functie inner:

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

Laten we de aanroep van outer in variabele res opslaan:

res = outer() print(res)

Na het uitvoeren van de code wordt een object met de functie weergegeven:

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

Als we variabele res aanroepen met ronde haakjes, dan wordt het bericht '+++' geretourneerd:

print(res()) # geeft '+++' weer

We kunnen de code zo herschrijven dat in res outer wordt opgeslagen met twee paar ronde haakjes - voor de aanroep van zichzelf en de functie inner. Hieruit volgt dat we extra ronde haakjes kunnen plaatsen rechts van de buitenste functie, volgens het aantal erin geneste functies:

res = outer()() print(res) # geeft '+++' weer

De volgende code is gegeven:

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

Zeg wat er in de console wordt weergegeven.

De volgende code is gegeven:

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

Zeg wat er in de console wordt weergegeven.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren