Python တွင် reference အားဖြင့် variable များကို လွှဲပြောင်းခြင်း
Python တွင်၊ ရှုပ်ထွေးသောအရာဝတ္ထုများ (complex objects) ပါရှိသည့် variable များကို reference အားဖြင့် လွှဲပြောင်းပေးသည်။ ဆိုလိုသည်မှာ၊ variable တစ်ခုတွင်ပြုလုပ်ထားသော ပြောင်းလဲမှုအားလုံးသည် ဒုတိယ variable ပေါ်တွင်ပါ ထင်ဟပ်မည်ဖြစ်သည်။ ထိုသို့တန်ဖိုးများသတ်မှတ်ပေးသည့် နည်းစနစ်ကြောင့် အမှားများပေါ်ပေါက်လာနိုင်ခြေမြင့်တက်စေသော်လည်း၊ OS ၏ system memory အရင်းအမြစ်များကို သိသိသာသာ ချွေတာပေးနိုင်သည်။
ကျွန်ုပ်တို့တွင် list နှစ်ခုရှိသည်ဆိုပါစို့။
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2 variable အား
lst1 ၏တန်ဖိုးကို သတ်မှတ်ပေးထားသောကြောင့်၊
ယခုအခါ computer ၏ RAM မှတ်ဉာဏ်ထဲတွင် list တစ်ခုတည်းသာ သိမ်းဆည်းထားပြီး၊
ထို list ကို variable နှစ်ခုက တစ်ပြိုင်နက် reference လုပ်နေပါသည်။
ယခု lst2 ၏ ပထမအပိုင်းကို ပြောင်းလဲကြည့်ပြီး
ပထမ list ကို console တွင် ထုတ်ပြကြည့်ကြပါစို့။
lst2[0] = '!'
print(lst1) # ထုတ်ပြမည် ['!', 2, 3, 4, 5]
အောက်ပါ code ကို run ပါက ရလဒ်မှာ မည်သို့ဖြစ်မည်နည်း။
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
အောက်ပါ code ကို run ပါက ရလဒ်မှာ မည်သို့ဖြစ်မည်နည်း။
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
အောက်ပါ code ကို run ပါက ရလဒ်မှာ မည်သို့ဖြစ်မည်နည်း။
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)