⊗pyPmFnSN 4 of 129 menu

Нюансы работы з абсягамі бачнасці ў Python

Разгледзім важныя нюансы работы з лакальнай і глабальнай зменнымі.

Хай у нас ёсць глабальная зменная num. Давайце створым функцыю func, якая будзе выводзіць глабальную num у кансоль:

num = 1 def func(): print(num) func() # выведзе 1

А цяпер аб'явім лакальную num на радку ніжэй функцыі print. Пасля выканання кода ў кансоль выведзецца памылка. Гэта адбываецца з-за таго, што Python унутры функцыі ўспрымае num толькі як лакальную зменную, якая яшчэ не была аб'яўлена:

num = 1 def func(): print(num) # выведзе памылку num = 2

Давайце цяпер перапішам код унутры функцыі так, каб значэнне зменнай num павялічылася на 2:

num = 1 def func(): num += 2 # выведзе памылку

Памылка выклікана тым, што выраз num += 2 ўяўляе сабой наступную запіс:

num = num + 2

Аднак сама лакальная зменная, да якой адбываецца дадаванне яшчэ не аб'яўлена. І адпаведна Python выводзіць памылку, паколькі нельга дадаць лік да неіснуючага значэння.

Якім будзе вынік выканання наступнага кода:

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

Якім будзе вынік выканання наступнага кода:

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

Якім будзе вынік выканання наступнага кода:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць