⊗pyPmFnNl 21 of 129 menu

A nonlocal utasítás Pythonban

Előfordul, hogy a külső függvényben van egy változó, amelyhez hozzá kell férni a belső függvényben. Deklaráljunk a outer függvényben egy i változót. A belső függvény szempontjából ez a változó külsőnek számít (globálisaknak csak a külső kódban deklarált változók számítanak). A inner függvénynek pedig adjunk meg egy hozzáadást i változóhoz:

def outer(): i = 0 def inner(): i += 1 # Kiírja [4, 9, 25] inner() return i

Azonban a inner számára a i változó lokális, a Python nem deklaráltnak tekinti, és ennek megfelelő hibát jelez. Korábban egy ilyen hiba a global utasítással javítható volt. Azonban itt i külső változó, ezért a nonlocal utasítást kell használni. Ez a felsorolt változóneveket a legközelebbi névtereből veszi, kizárva a globálist, azaz a i a inner függvényben a függvény felett deklarált változóból lesz véve:

def outer(): i = 0 def inner(): nonlocal i i += 1 inner() return i print(outer()) # Kiírja: 1

A következő kódban egy programozó hibát követett el:

num = 10 def outer(): num = 5 def inner(): num -= 2 inner() return num print(outer())

Mi a baj ezzel a kóddal? Keresse meg és javítsa ki a kód szerzőjének hibáját.

A következő kódban egy programozó hibát követett el:

num = 3 def outer(): num += 1 tst = num def inner(): tst = tst ** 3 inner() return tst print(outer())

Mi a baj ezzel a kóddal? Keresse meg és javítsa ki a kód szerzőjének hibáját.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás