Python လုပ်ဆောင်ချက်တွင် များစွာသော return values ​​များကို မည်သို့ပြန်ဆိုမည်နည်း။

စီးပွားရေးလုပ်ငန်း

C တွင်၊ function တစ်ခုမှ return value အများအပြားကို ပြန်ပေးခြင်းသည် ပျင်းစရာကောင်းသော်လည်း Python တွင် ပြုလုပ်ရန် အလွန်လွယ်ကူပါသည်။

ကော်မာများဖြင့် ခြားပြီး ပြန်သွားပါ။

Python တွင်၊ သင်သည် ကော်မာ-ခြားထားသော စာကြောင်းများ သို့မဟုတ် နံပါတ်များစာရင်းကို ရိုးရှင်းစွာ ပြန်ပေးနိုင်သည်။

ဥပမာအနေဖြင့်၊ တစ်ခုချင်းစီကို ပြန်ပြီးသည့်နောက်တွင် ကော်မာဖြင့် ပိုင်းခြားထားသော အောက်ဖော်ပြပါအတိုင်း လိုင်းတစ်ခုနှင့် နံပါတ်တစ်ခုကိုသာ ပြန်ပေးသည့် လုပ်ဆောင်ချက်ကို သတ်မှတ်ပါ။

def test():
    return 'abc', 100

Python တွင်၊ ကော်မာ-ခြားထားသောတန်ဖိုးများကို စည်းချက်ကျကျ လိုအပ်သည့်နေရာမှလွဲ၍ ကွင်းစဥ်မပါဘဲ tuple အဖြစ်သတ်မှတ်သည်။ ထို့ကြောင့်၊ အထက်နမူနာတွင်ရှိသော လုပ်ဆောင်ချက်သည် တန်ဖိုးတစ်ခုစီကို ဒြပ်စင်တစ်ခုအနေဖြင့် ပြန်ပေးပါမည်။

၎င်းသည် အဝိုင်းကွင်းများမဟုတ်ဘဲ tuple ကိုဖန်တီးပေးသော ကော်မာဖြစ်သည်။ အဝိုင်းကွင်းစကွက်များကို အချည်းနှီးသော tuple များတွင် သို့မဟုတ် ပေါင်းစပ်မသေချာသော မရှင်းလင်းမှုများကို ရှောင်ရှားရန် လိုအပ်သည့်အခါမှလွဲ၍ ချန်လှပ်နိုင်သည်။
Built-in Types — Python 3.10.0 Documentation

ပြန်ပေးသည့်တန်ဖိုးအမျိုးအစားသည် tuple ဖြစ်သည်။

result = test()

print(result)
print(type(result))
# ('abc', 100)
# <class 'tuple'>

ဒြပ်စင်တစ်ခုစီသည် function မှသတ်မှတ်ထားသောအမျိုးအစားဖြစ်သည်။

print(result[0])
print(type(result[0]))
# abc
# <class 'str'>

print(result[1])
print(type(result[1]))
# 100
# <class 'int'>

သင်သတ်မှတ်ထားသော ပြန်ပို့တန်ဖိုးအရေအတွက်ထက် ကျော်လွန်သော အညွှန်းတစ်ခုကို သတ်မှတ်ပါက အမှားအယွင်းရှိသည်။

# print(result[2])
# IndexError: tuple index out of range

၎င်းကို ထုပ်ပိုးထားနိုင်ပြီး များစွာသော return values ​​များကို သီးခြား variable များသို့ သတ်မှတ်ပေးနိုင်ပါသည်။

a, b = test()

print(a)
# abc

print(b)
# 100

နှစ်ခုသာအစား သုံးမျိုး သို့မဟုတ် ထို့ထက်ပိုသော ပြန်တန်ဖိုးများကို သတ်မှတ်လိုပါက အလားတူပင်ဖြစ်သည်။

def test2():
    return 'abc', 100, [0, 1, 2]

a, b, c = test2()

print(a)
# abc

print(b)
# 100

print(c)
# [0, 1, 2]

စာရင်းတစ်ခု ပြန်ပေးသည်။

[]၎င်းကို ထည့်သွင်းပါက၊ ပြန်တန်ဖိုးသည် tuple အစား စာရင်းတစ်ခု ဖြစ်လိမ့်မည်။

def test_list():
    return ['abc', 100]

result = test_list()

print(result)
print(type(result))
# ['abc', 100]
# <class 'list'>