Python ရှိ မပြောင်းလဲနိုင်သော (မပြောင်းလဲနိုင်သော) အစီစဉ်အရာဝတ္ထုများဖြစ်သည့် Tuples။
ဒြပ်စင်တစ်ခုတည်း သို့မဟုတ် ဗလာ tuples များဖြင့် tuples များထုတ်လုပ်သည့်အခါ ဂရုပြုရပါမည်။
အောက်ပါအသေးစိတ်အချက်အလက်များကို ဤနေရာတွင် ဖော်ပြထားပါသည်။
- ဒြပ်စင် 1 ပါသော Tuple
- Tuple round ကွင်းများကို ချန်လှပ်ထားနိုင်ပါသည်။
- ဗလာ tuple
- လုပ်ဆောင်ချက် အကြောင်းပြချက်များတွင် Tuples
ဒြပ်စင် 1 ပါသော Tuple
အကယ်၍ သင်သည် ဒြပ်စင်တစ်ခုနှင့် tuple တစ်ခုကို ဖန်တီးပြီး round brackets (အတွင်း) အရာဝတ္ထုတစ်ခုသာ ရေးရန် ကြိုးစားပါက round brackets () ကို လျစ်လျူရှုပြီး လုပ်ဆောင်ပြီး tuple အဖြစ် မသတ်မှတ်ပါ။
single_tuple_error = (0)
print(single_tuple_error)
print(type(single_tuple_error))
# 0
# <class 'int'>
ဒြပ်စင်တစ်ခုပါရှိသော tuple တစ်ခုကို ဖန်တီးရန်အတွက် နောက်တွင် ကော်မာတစ်ခု လိုအပ်သည်။
single_tuple = (0, )
print(single_tuple)
print(type(single_tuple))
# (0,)
# <class 'tuple'>
ဥပမာအားဖြင့်၊ tuple အများအပြားကို ပေါင်းစပ်ရန် + အော်ပရေတာကို အသုံးပြုသောအခါ၊ သင်သည် ဒြပ်စင်တစ်ခုထည့်ရန်ကြိုးစားပြီး ကော်မာကို မေ့သွားပါက အမှားတစ်ခုရရှိမည်ကို သတိပြုပါ။
# print((0, 1, 2) + (3))
# TypeError: can only concatenate tuple (not "int") to tuple
print((0, 1, 2) + (3, ))
# (0, 1, 2, 3)
Tuple round ကွင်းများကို ချန်လှပ်ထားနိုင်ပါသည်။
ဒြပ်စင်တစ်ခုပါရှိသော tuple သည် ကော်မာတစ်ခုလိုအပ်ရခြင်းအကြောင်းရင်းမှာ tuple သည် round brackets () တွင်ထည့်သွင်းထားသောတန်ဖိုးမဟုတ်သော်လည်း ကော်မာဖြင့်ခြားထားသောတန်ဖိုးကြောင့်ဖြစ်သည်။
၎င်းသည် အဝိုင်းကွင်းများမဟုတ်ဘဲ tuple ကိုဖန်တီးပေးသော ကော်မာဖြစ်သည်။
Tuples — Built-in Types — Python 3.10.4 Documentation
round brackets () ကို ချန်လှပ်ထားသော်လည်း၊ ၎င်းကို tuple အဖြစ် လုပ်ဆောင်သည်။
t = 0, 1, 2
print(t)
print(type(t))
# (0, 1, 2)
# <class 'tuple'>
အရာဝတ္ထုတစ်ခုပြီးနောက် မလိုအပ်သောကော်မာတစ်ခုကို tuple အဖြစ်သတ်မှတ်ကြောင်း သတိပြုပါ။
t_ = 0,
print(t_)
print(type(t_))
# (0,)
# <class 'tuple'>
ဗလာ tuple
အထက်တွင်ဖော်ပြခဲ့သည့်အတိုင်း၊ tuple တစ်ခုကိုကိုယ်စားပြုသည့်အခါ round brackets () ကို ချန်လှပ်ထားနိုင်သော်လည်း ဗလာ tuple ကိုထုတ်ပေးသည့်အခါ လိုအပ်ပါသည်။
နေရာလွတ် သို့မဟုတ် ကော်မာတစ်ခုတည်းသည် SyntaxError ဖြစ်လိမ့်မည်။
empty_tuple = ()
print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>
# empty_tuple_error =
# SyntaxError: invalid syntax
# empty_tuple_error = ,
# SyntaxError: invalid syntax
# empty_tuple_error = (,)
# SyntaxError: invalid syntax
အငြင်းအခုံမရှိသော tuple() ဗလာ tuple များကိုလည်း ထုတ်ပေးနိုင်သည်။
empty_tuple = tuple()
print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>
လုပ်ဆောင်ချက် အကြောင်းပြချက်များတွင် Tuples
Syntactic ambiguity ရှိနေသည့်တိုင် Tuple round brackets () ကို လိုအပ်ပါသည်။
Function arguments များကို ကော်မာများဖြင့် ပိုင်းခြားထားသော်လည်း ဤကိစ္စတွင်၊ ၎င်းသည် အဝိုင်းကွင်းကွင်းများ () ရှိနေခြင်း သို့မဟုတ် မရှိခြင်းကြောင့် လုပ်ဆောင်ချက်သည် tuple ဖြစ်မဖြစ် ပြတ်သားစွာ ဖော်ပြရန် လိုအပ်ပါသည်။
ကွင်းစဥ် (မရှိလျှင်) တန်ဖိုးတစ်ခုစီသည် အငြင်းအခုံတစ်ခုစီသို့ ပေးပို့သည်။ ကွင်းအတွင်း () ဖြင့် တန်ဖိုးတစ်ခုစီကို tuple တစ်ခုအဖြစ် argument တစ်ခုသို့ ပေးပို့သည်။
def example(a, b):
print(a, type(a))
print(b, type(b))
example(0, 1)
# 0 <class 'int'>
# 1 <class 'int'>
# example((0, 1))
# TypeError: example() missing 1 required positional argument: 'b'
example((0, 1), 2)
# (0, 1) <class 'tuple'>
# 2 <class 'int'>
tuple ကို ခရေပွင့် * ဖြင့် အမှတ်အသားပြုပါက၊ tuple ၏ဒြပ်စင်များကို ချဲ့ထွင်ပြီး အကြောင်းပြချက်များအဖြစ် ကျော်သွားနိုင်သည်။
example(*(0, 1))
# 0 <class 'int'>
# 1 <class 'int'>
ပိုမိုသိရှိလိုပါက၊ အောက်ပါဆောင်းပါးကိုကြည့်ပါ။