⊗pyPmFnIFN 22 of 129 menu

Sisäisen funktion käytön vivahteet Pythonissa

Pythonissa voi olla paitsi sisäkkäisiä funktioita, myös yksi funktio voi palauttaa toisen. Esimerkiksi, olkoon funktio outer palauttaa tuloksena inner-funktion lähdekoodin:

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

Tallennetaan outer-funktion kutsu muuttujaan res:

res = outer() print(res)

Koodin suorituksen jälkeen tulostuu funktio-objekti:

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

Jos muuttuja res kutsutaan pyöreillä sulkeilla, palautuu viesti '+++':

print(res()) # tulostaa '+++'

Koodi voidaan kirjoittaa uudelleen siten, että res muuttujaan tallennetaan outer kahdella pyöreällä sulkeella - itse funktion kutsua ja funktion inner kutsu varten. Tästä seuraa, että ulomman funktion oikealle puolelle voidaan kirjoittaa lisäpyöreitä sulkeita sen mukaisesti, kuinka monta funktiota siihen on sisäkkäin:

res = outer()() print(res) # tulostaa '+++'

Annettu seuraava koodi:

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

Mitä konsoliin tulostuu?

Annettu seuraava koodi:

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

Mitä konsoliin tulostuu?

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää