⊗pyPmFnIFN 22 of 129 menu

Vidinių funkcijų naudojimo Python'e niuansai

Python'e gali būti ne tik įdėtosios funkcijos, bet ir viena funkcija gali grąžinti kitą. Pavyzdžiui, tegul funkcija outer grąžina kaip rezultatą pradinį kodą funkcijos inner:

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

Įrašykime iškvietimą outer į kintamąjį res:

res = outer() print(res)

Vykdant kodą, bus išvestas objektas su funkcija:

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

Jei iškviesti kintamąjį res su apvaliaisiais skliaustais, bus grąžintas pranešimas '+++':

print(res()) # išves '+++'

Galima perrašyti kodą taip, kad į res būtų įrašyta outer su dviem poromis apvaliųjų skliaustų - pačiai sau ir funkcijai inner iškvietimui. Iš to seka, kad galima įrašyti papildomus apvaliuosius skliaustus dešinėje nuo išorinės funkcijos pagal įdėtųjų funkcijų skaičių:

res = outer()() print(res) # išves '+++'

Duotas toks kodas:

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

Pasakykite, kas bus išvesta į konsolę.

Duotas toks kodas:

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

Pasakykite, kas bus išvesta į konsolę.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti