⊗pyPmFnIFN 22 of 129 menu

Nyanser ved arbeid med indre funksjoner i Python

I Python kan det ikke bare være nestede funksjoner, men en funksjon kan også returnere en annen. For eksempel, la funksjonen outer returnere som resultat kildekoden til funksjonen inner:

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

La oss skrive kallet outer i variabelen res:

res = outer() print(res)

Etter kjøring av koden vil et objekt med funksjonen bli vist:

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

Hvis vi kaller variabelen res med parenteser, vil meldingen '+++' returneres:

print(res()) # vil vise '+++'

Koden kan skrives om slik at res blir satt til outer med to parenteser - for å kalle seg selv og funksjonen inner. Det følger at man kan skrive ytterligere parenteser til høyre for den ytre funksjonen, i antall tilsvarende de nestede funksjonene i den:

res = outer()() print(res) # vil vise '+++'

Følgende kode er gitt:

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

Si hva som vil vises i konsollen.

Følgende kode er gitt:

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

Si hva som vil vises i konsollen.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis