⊗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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан