⊗pyPmFnIFN 22 of 129 menu

Iekšējo funkciju darbības nianses Python

Python var būt ne tikai ligzdotas funkcijas, bet arī viena funkcija var atgriezt citu. Piemēram, ļaujiet funkcijai outer atgriezt kā rezultātu pirmkodu funkcijas inner:

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

Ierakstīsim izsaukumu outer mainīgajā res:

res = outer() print(res)

Pēc koda izpildes tiks izvadīts objekts ar funkciju:

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

Ja izsauc mainīgo res ar apaļām iekavām, tad tiks atgriezts ziņojums '+++':

print(res()) # izvadīs '+++'

Kodu var pārrakstīt tā, lai res tiktu ierakstīta outer ar divām apaļām iekavām - lai izsauktu sevi pašu un funkciju inner. No tā izriet, ka var ierakstīt papildu apaļās iekavas pa labi no ārējās funkcijas pēc to skaita, ligzdotās tajā funkcijās:

res = outer()() print(res) # izvadīs '+++'

Dots šāds kods:

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

Sakiet, kas tiks izvadīts konsolē.

Dots šāds kods:

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

Sakiet, kas tiks izvadīts konsolē.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt