⊗pyPmFnSN 4 of 129 menu

Darbas su vardų sričių niuansai Python kalboje

Panagrinėkime svarbius lokalaus ir globalaus kintamųjų darbo niuansus.

Tarkime, kad turime globalų kintamąjį num. Sukurkime funkciją func, kuri atspausdins globalų num į konsolę:

num = 1 def func(): print(num) func() # išves 1

O dabar deklaruokime lokalų num eilutėje žemiau funkcijos print. Po kodo vykdymo į konsolę bus išvesta klaida. Taip atsitinka dėl to, kad Python funkcijos viduje suvokia num tik kaip lokalų kintamąjį, kuris dar nebuvo deklaruotas:

num = 1 def func(): print(num) # išves klaidą num = 2

Dabar perrašykime kodą funkcijos viduje taip, kad kintamojo num reikšmė padidėtų 2:

num = 1 def func(): num += 2 # išves klaidą

Klaida sukelta dėl to, kad išraiška num += 2 atitinka šį užrašą:

num = num + 2

Tačiau pats lokalus kintamasis, prie kurio pridedama, dar nebuvo deklaruotas. Ir atitinkamai Python išveda klaidą, nes negalima pridėti skaičiaus prie neegzistuojančios reikšmės.

Koks bus šio kodo vykdymo rezultatas:

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

Koks bus šio kodo vykdymo rezultatas:

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

Koks bus šio kodo vykdymo rezultatas:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti