⊗pyPmFnSN 4 of 129 menu

Python да функцияларда кўриш соҳаси билан ишлашнинг нюанслари

Локал ва глобал ўзгарувчилар билан ишлашнинг мухим нюансларини кўриб чиқамиз.

Бизда num глобал ўзгарувчиси бор деб фараз қилайлик. Келгила, консолга глобал num ни чиқарувчи func функциясини яратайлик:

num = 1 def func(): print(num) func() # 1 ни чиқаради

Энди print функциясидан пастки сатрда локал num ни эълон қилайлик. Код бажарилганидан сўнг консолда хатолик чиқади. Бу шундан келиб чиқадики, 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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш