⊗pyPmFnIFN 22 of 129 menu

Nijanse pri radu sa unutrašnjom funkcijom u Python-u

U Python-u mogu postojati ne samo ugniježđene funkcije, već jedna funkcija može vraćati drugu. Na primer, neka funkcija outer vraća kao rezultat izvorni kod funkcije inner:

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

Hajde da zapišemo poziv outer u promenljivu res:

res = outer() print(res)

Nakon izvršavanja koda ispisaće se objekat sa funkcijom:

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

Ako pozovemo promenljivu res sa zagradama, vratiće se poruka '+++':

print(res()) # ispisaće '+++'

Možemo prepisati kod tako da se u res upisuje outer sa dve zagrade - za poziv same sebe i funkcije inner. Iz čega sledi da možemo upisivati dodatne zagrade desno od spoljne funkcije po broju, ugniježdenih u nju funkcija:

res = outer()() print(res) # ispisaće '+++'

Dat je sledeći kod:

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

Recite šta će se ispisati u konzolu.

Dat je sledeći kod:

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

Recite šta će se ispisati u konzolu.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij