Python တွင် Variable တစ်ခုအနေဖြင့် Function

Python တွင် Function သည် အနှစ်သာရအားဖြင့် Variable တစ်ခုပင် ဖြစ်ပါသည်။ ၎င်းဆိုလိုသည်မှာ ၎င်းကိုလည်း အခြားနေရာများသို့ လွှဲပြောင်းပေးပို့နိုင်ပါသည်။

ကျွန်ုပ်တို့၌ အသုဘသင်္ကေတ (exclamation mark) ကို ပြန်ပေးသည့် Function တစ်ခု ရှိသည်ဆိုပါစို့။

pythondef func():
  return '!'

ယခု ကျွန်ုပ်တို့ လုံးဝိုက်ကွင်းများ မပါဘဲ Function ၏ နာမည်ကို Variable တစ်ခုအနေဖြင့် print ထဲသို့ ပို့ကြည့်ကြပါမည်။

pythonprint(func)

ကုဒ်ကို run ပြီးနောက် Console တွင် ဤ Function အကြောင်း အချက်အလက်များပါဝင်သည့် အထူး Object တစ်ခု ပေါ်လာပါမည်။

python<function func at 0x0000022816383E20>

ယခု Variable func2 ကို ကြေညာ(declare)ပြီး ၎င်း၏ တန်ဖိုးအဖြစ် Function func1 ကို ထည့်သွင်းပေးကြပါစို့။ Function ကိုယ်တိုင်ကို တန်ဖိုးအနေဖြင့် မဟုတ်ဘဲ Object တစ်ခုအနေဖြင့် reference (အကိုးအကား) အတိုင်း လွှဲပြောင်းပေးပါသည်။ ထို့ကြောင့် func2 ကို လုံးဝိုက်ကွင်းများဖြင့် ခေါ်သုံးသည့်အခါ Console တွင် func1 ၏ လုပ်ဆောင်ချက် ရလဒ်ကို မြင်ရပါမည်။

pythondef func1():
print('!')

func2 = func1
func2() # '!' ကို ပြသပေးမည်
Задание 1

အောက်ပါ ကုဒ်ကို run လိုက်လျှင် ရလဒ်အဘယ်သို့ ဖြစ်မည်နည်း။

pythondef func():
  print('hello, user!')

greet = func
print(greet)
Задание 2

အောက်ပါ ကုဒ်ကို run လိုက်လျှင် ရလဒ်အဘယ်သို့ ဖြစ်မည်နည်း။

pythondef getSum(num1, num2):
  res = num1 + num2
  return res

func = getSum
print(func(2, 3))