Python-daky görüş meýdanlary bilen işleşiň nýuanslary
Lokal we global üýtgeýjiler bilen işiň möhüm nýuanslaryny gözden geçirýäris.
Bizde global num üýtgeýjisi bardyr diýeliň.
Geliň global num-y konsola çykarjak func funksiýasyny dörediň:
num = 1
def func():
print(num)
func() # 1-ni çykarar
Indi bolsa, print funksiýasynyň aşagyndaky setirde lokal num-y belleýliň.
Kod ýerine ýetirilenden soň, konsola säwlik çykar.
Bu şonuň üçin ýüze çykýar, Python funksiýanyň içinde num-y ýöne heniz bellelenmedik lokal üýtgeýji hökmünde kabul edýär:
num = 1
def func():
print(num) # säwlik çykarar
num = 2
Indi bolsa, funksiýanyň içindaky kody num üýtgeýjisiniň bahasyny 2 artdyrjak etmek üçin ýazalyň:
num = 1
def func():
num += 2 # säwlik çykarar
Säwlik, num += 2 ifadesiniň aşakdaky ýazgyny aňladýandygy sebäpli ýüze çykýar:
num = num + 2
Emma goşulýan lokal üýtgeýji heniz bellik edilmedi. Şonuň üçin hem Python säwlik çykarýar, sebäbi ýok bahasa san goşup bolmaýar.
Aşakdaky kodyň ýerine ýetirilmegi netijesi näme bolar:
tst = '12'
def func():
tst = 12
return tst
print(tst)
Aşakdaky kodyň ýerine ýetirilmegi netijesi näme bolar:
tst = 'abc'
def func():
tst = tst.upper()
return tst
func()
print(tst)
Aşakdaky kodyň ýerine ýetirilmegi netijesi näme bolar:
tst = 'abc'
def func():
txt = tst.upper()
return txt
print(func())
print(tst)