⊗pyPmFnIFN 22 of 129 menu

Pythoni sisemiste funktsioonidega töötamise nüansid

Pythonis ei saa olla mitte ainult pesastatud funktsioone, vaid üks funktsioon võib ka tagastada teise. Näiteks olgu funktsioon outer tagastab tulemusena funktsiooni inner lähtekoodi:

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

Kirjutame väljakutse outer muutujasse res:

res = outer() print(res)

Pärast koodi täitmist kuvatakse funktsiooni objekt:

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

Kui kutsuda muutuja res välja ümarsulgudega, tagastatakse sõnum '+++':

print(res()) # kuvab '+++'

Koodi saab ümber kirjutada nii, et res kirjutatakse outer kahe ümarsulguga - ennast ja funktsiooni väljakutsumiseks inner. Sellest järeldub, et saab kirjutada täiendavaid ümarsulge paremale välimisest funktsioonist vastavalt arvule, sinna pesastatud funktsioone:

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

Antud on järgmine kood:

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

Öelge, mis konsooli kuvatakse.

Antud on järgmine kood:

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

Öelge, mis konsooli kuvatakse.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu