Python နယ်ပယ်
ကိန်းရှင်တစ်ခုသည် ၎င်းဖန်တီးထားသော ဒေသအတွင်းမှသာ ရနိုင်သည်။ ဒါကို scope လို့ခေါ်တယ် ။
Local Scope
လုပ်ဆောင်ချက်တစ်ခုအတွင်း ဖန်တီးထားသော ကိန်းရှင်သည် ထိုလုပ်ဆောင်ချက်၏ ဒေသဆိုင်ရာ နယ်ပယ် နှင့် သက်ဆိုင်ပြီး ထိုလုပ်ဆောင်ချက်အတွင်းတွင်သာ အသုံးပြုနိုင်သည်။
ဥပမာ
လုပ်ဆောင်ချက်တစ်ခုအတွင်း ဖန်တီးထားသော ကိန်းရှင်ကို ထိုလုပ်ဆောင်ချက်အတွင်းတွင် ရနိုင်သည်-
def myfunc():
x = 300
print(x)
myfunc()
Function Inside Function
အထက်ဖော်ပြပါ ဥပမာတွင် ရှင်းပြထားသည့်အတိုင်း ကိန်းရှင် x
သည် လုပ်ဆောင်ချက်ပြင်ပတွင် မရရှိနိုင်သော်လည်း ၎င်းသည် လုပ်ဆောင်ချက်အတွင်းရှိ မည်သည့်လုပ်ဆောင်ချက်အတွက်မဆို ရနိုင်သည်-
ဥပမာ
local variable ကို function အတွင်းရှိ function တစ်ခုမှ ဝင်ရောက်ကြည့်ရှုနိုင်သည်-
def myfunc():
x = 300
def myinnerfunc():
print(x)
myinnerfunc()
myfunc()
ကမ္ဘာလုံးဆိုင်ရာ နယ်ပယ်
Python ကုဒ်၏ ပင်မကိုယ်ထည်တွင် ဖန်တီးထားသော ကိန်းရှင်သည် ကမ္ဘာလုံးဆိုင်ရာ ကိန်းရှင်ဖြစ်ပြီး ကမ္ဘာလုံးဆိုင်ရာ နယ်ပယ်တွင် ပါဝင်သည်။
Global variables များကို မည်သည့်နယ်ပယ်၊ ကမ္ဘာလုံးဆိုင်ရာနှင့် ဒေသတွင်းမှ ရရှိနိုင်ပါသည်။
ဥပမာ
လုပ်ဆောင်ချက်တစ်ခု၏ အပြင်ဘက်တွင် ဖန်တီးထားသော ကိန်းရှင်သည် ကမ္ဘာလုံးဆိုင်ရာဖြစ်ပြီး မည်သူမဆို အသုံးပြုနိုင်ပါသည်။
x = 300
def myfunc():
print(x)
myfunc()
print(x)
Variable များကို အမည်ပေးခြင်း
အကယ်၍ သင်သည် လုပ်ဆောင်ချက်တစ်ခု၏ အတွင်းနှင့် အပြင်ဘက်တွင် တူညီသော variable name ဖြင့် လုပ်ဆောင်ပါက၊ Python သည် ၎င်းတို့အား သီးခြား variable နှစ်ခုအဖြစ် သတ်မှတ်ပေးမည်ဖြစ်ပြီး၊ တစ်ခုသည် global scope (လုပ်ဆောင်ချက်အပြင်ဘက်) တွင် ရရှိနိုင်သော တစ်ခုနှင့် local scope (လုပ်ဆောင်ချက်အတွင်းတွင်) ရှိနိုင်သည်-
ဥပမာ
လုပ်ဆောင်ချက်သည် local ကို print ထုတ်မည်ဖြစ်ပြီး x
၊ ထို့နောက် code သည် global ကို print ထုတ်လိမ့်မည် x
။
x = 300
def myfunc():
x = 200
print(x)
myfunc()
print(x)
ကမ္ဘာလုံးဆိုင်ရာ သော့ချက်စာလုံး
အကယ်၍ သင်သည် global variable တစ်ခုကို ဖန်တီးရန် လိုအပ်သော်လည်း local scope တွင် ပိတ်မိနေပါက၊ သင်သည်
global
keyword ကို အသုံးပြုနိုင်ပါသည်။
global
သော့ချက်စာလုံးသည် ပြောင်းလဲနိုင်သော ကမ္ဘာလုံးဆိုင်ရာကို ဖြစ်စေသည် ။
ဥပမာ
သော့ချက်စကားလုံးကို သင်အသုံးပြုပါက global
၊ ကိန်းရှင်သည် ကမ္ဘာလုံးဆိုင်ရာ နယ်ပယ်နှင့် သက်ဆိုင်သည်-
def myfunc():
global x
x = 300
myfunc()
print(x)
ထို့အပြင်၊ global
function တစ်ခုအတွင်းရှိ global variable တစ်ခုသို့ ပြောင်းလဲလိုပါက keyword ကိုသုံးပါ။
ဥပမာ
function တစ်ခုအတွင်းရှိ global variable ၏တန်ဖိုးကိုပြောင်းလဲရန်အတွက် global
keyword ကိုအသုံးပြု၍ variable ကိုကိုးကားပါ-
x = 300
def myfunc():
global x
x = 200
myfunc()
print(x)