⊗pyPmFnSN 4 of 129 menu

Nyanser av arbete med scopingsområden i Python

Låt oss överväga viktiga nyanser av arbete med lokala och globala variabler.

Antag att vi har en global variabel num. Låt oss skapa en funktion func som kommer att skriva ut den globala num till konsolen:

num = 1 def func(): print(num) func() # skriver ut 1

Och nu deklarerar vi en lokal num på raden under funktionen print. Efter att koden har körts kommer ett fel att skrivas ut i konsolen. Detta händer på grund av att Python inuti funktionen uppfattar num endast som en lokal variabel som ännu inte har deklarerats:

num = 1 def func(): print(num) # ger ett fel num = 2

Låt oss nu skriva om koden inuti funktionen så att värdet på variabeln num ökar med 2:

num = 1 def func(): num += 2 # ger ett fel

Felet orsakas av att uttrycket num += 2 representerar följande notation:

num = num + 2

Men den lokala variabeln som tillägget sker till är ännu inte deklarerad. Och följaktligen ger Python ett fel, eftersom det inte går att lägga till ett nummer till ett icke-existerande värde.

Vad blir resultatet av att köra följande kod:

tst = '12' def func(): tst = 12 return tst print(tst)

Vad blir resultatet av att köra följande kod:

tst = 'abc' def func(): tst = tst.upper() return tst func() print(tst)

Vad blir resultatet av att köra följande kod:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
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