⊗pyPmFnIFN 22 of 129 menu

Nianse pri delu z notranjo funkcijo v Python

V Pythonu lahko niso le ugnezdeni funkciji, ampak lahko ena funkcija vrne drugo. Na primer, naj funkcija outer vrne kot rezultat izvorno kodo funkcije inner:

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

Zapišimo klic outer v spremenljivko res:

res = outer() print(res)

Po izvedbi kode se bo izpisal objekt s funkcijo:

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

Če pa pokličemo spremenljivko res z okroglimi oklepaji, se vrne sporočilo '+++':

print(res()) # izpiše '+++'

Kodo lahko prepišemo tako, da se v res zapiše outer z dvema okroglima oklepajema - za klic same sebe in funkcije inner. Iz tega sledi, da lahko zapišemo dodatne okrogle oklepaje desno od zunanje funkcije glede na število vanjo ugnezdenih funkcij:

res = outer()() print(res) # izpiše '+++'

Podana je naslednja koda:

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

Povejte, kaj se izpiše v konzolo.

Podana je naslednja koda:

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

Povejte, kaj se izpiše v konzolo.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni