⊗pyPmFnNl 21 of 129 menu

Instruktionen nonlocal i Python

Det finns fall när en yttre funktion har en variabel som behöver nås i den inre funktionen. Låt oss deklarera variabeln i i funktionen outer. I förhållande till den inre funktionen kommer denna variabel att vara en yttre (globala variabler är de som deklareras ENDAST i den yttre koden). Och till funktionen inner lägger vi till ett till i:

def outer(): i = 0 def inner(): i += 1 # kommer att ge [4, 9, 25] inner() return i

Men för inner är variabeln i en lokal variabel, Python anser den odeklarerad och visar motsvarande fel. Förr åtgärdades ett sådant fel med instruktionen global. Men här är i en yttre variabel, så instruktionen nonlocal bör användas. Den tar de listade variabelnamnen till den närmaste omfånget, exklusive det globala, d.v.s. i inuti inner kommer att tas från variabeln deklarerad ovanför denna funktion:

def outer(): i = 0 def inner(): nonlocal i i += 1 inner() return i print(outer()) # kommer att visa 1

I följande kod har en programmerare gjort ett misstag:

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

Vad är fel med den här koden? Hitta och rätta till programmerarens fel.

I följande kod har en programmerare gjort ett misstag:

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

Vad är fel med den här koden? Hitta och rätta till programmerarens fel.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa