⊗pyPmFnSN 4 of 129 menu

Nijanse rada sa opsezima vidljivosti u Python-u

Razmotrimo važne nijanse rada sa lokalnim i globalnim promenljivima.

Neka imamo globalnu promenljivu num. Hajde da kreiramo funkciju func, koja će ispisivati globalnu num u konzolu:

num = 1 def func(): print(num) func() # ispisaće 1

A sada deklarišimo lokalnu num na liniji ispod funkcije print. Nakon izvršenja koda u konzolu će se ispisati greška. Ovo se dešava zbog toga što Python unutar funkcije percipira num samo kao lokalnu promenljivu, koja još nije bila deklarisana:

num = 1 def func(): print(num) # ispisaće grešku num = 2

Hajde sada da prepišemo kod unutar funkcije tako da se vrednost promenljive num uveća za 2:

num = 1 def func(): num += 2 # ispisaće grešku

Greška je izazvana time što izraz num += 2 predstavlja sledeći zapis:

num = num + 2

Međutim, sama lokalna promenljiva, kojoj se vrši dodavanje još uvek nije deklarisana. I shodno tome Python ispisuje grešku, pošto se ne može dodati broj ne postojećoj vrednosti.

Kakav će biti rezultat izvršenja sledećeg koda:

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

Kakav će biti rezultat izvršenja sledećeg koda:

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

Kakav će biti rezultat izvršenja sledećeg koda:

tst = 'abc' def func(): txt = tst.upper() return txt print(func()) print(tst)
Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij