Python ရှိ global ညွှန်ကြားချက်
ကျွန်ုပ်တို့တွင် ပြင်ပရှိ global ကိန်းရှင်
တစ်ခု i ရှိသည်ဆိုပါစို့။ ထို့အပြင်
ထိုကိန်းရှင်ကို တစ်ပေါင်းထည့်ပေးသော
func လုပ်ဆောင်ချက်လည်း ရှိသည်။
i = 0
def func():
i += 1 # အမှားကို ပြသပေးမည်
return i
ကုဒ်ကို လုပ်ဆောင်ပြီးနောက် အမှားတစ်ခု ပေါ်လာမည်။
အဘယ်ကြောင့်ဆိုသော် ပြင်ပကုဒ်တွင် ကြေငြာထားသော
global i နှင့် 1 ပေါင်းထည့်ရန်
သုံးထားသော်၎င်း ကိုယ်တိုင်မှ မကြေငြာရသေးသော
local i တို့ တိုက်ဆိုင်နေခြင်းကြောင့် ဖြစ်သည်။
ဤပြဿနာကို ဖြေရှင်းပြီး လုပ်ဆောင်ချက်အား global
ကိန်းရှင်နှင့်သာ အလုပ်လုပ်စေလိုလျှင်
global ညွှန်ကြားချက်ကို အသုံးပြုရန် လိုအပ်ပါသည်။
ဤညွှန်ကြားချက်သည် ၎င်းကို သတ်မှတ်ထားသော
လက်ရှိကုဒ်ဘလောက်တစ်ခုလုံးအတွက်
ကြေငြာချက်တစ်ခုအဖြစ် လုပ်ဆောင်ပေးပါသည်။
ယခင်ဥပမာကို လုပ်ဆောင်ချက်အတွင်း
global ကြေငြာခြင်းဖြင့် ပြန်ရေးကြည့်ပါမည်။
def func():
global i
i += 1
return i
print(func()) # 1 ကို ပြသပေးမည်
အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် အမှားတစ်ခု ကျူးလွန်ထားသည်။
num = 4
def func():
num *= 2
return num
print(func())
ဤကုဒ်တွင် ဘာမှားနေသနည်း။ ကုဒ်ရေးသူ၏ အမှားကို ရှာဖွေပြီး ပြင်ဆင်ပေးပါ။
အောက်ပါကုဒ်တွင် ပရိုဂရမ်မာတစ်ဦးသည် အမှားတစ်ခု ကျူးလွန်ထားသည်။
num = 10
def func():
num -= 3
return i
print(func())
ဤကုဒ်တွင် ဘာမှားနေသနည်း။ ကုဒ်ရေးသူ၏ အမှားကို ရှာဖွေပြီး ပြင်ဆင်ပေးပါ။