Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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