ट्यूपल्स, जे पायथनमधील अपरिवर्तनीय (अपरिवर्तनीय) अनुक्रम वस्तू आहेत.
एकच घटक किंवा रिकाम्या ट्यूपल्ससह ट्यूपल्स तयार करताना काळजी घेणे आवश्यक आहे.
खालील तपशील येथे वर्णन केले आहेत.
- 1 घटकासह टपल
- Tuple गोल कंस वगळले जाऊ शकते.
- रिकामे टपल
- फंक्शन आर्ग्युमेंट्समधील टपल्स
1 घटकासह टपल
जर तुम्ही एका घटकासह ट्यूपल तयार करण्याचा प्रयत्न केला आणि गोल कंसात () फक्त एक ऑब्जेक्ट लिहिला, तर गोल कंस () दुर्लक्षित केले जातील आणि त्यावर प्रक्रिया केली जाईल आणि ट्यूपल मानले जाणार नाही.
single_tuple_error = (0)
print(single_tuple_error)
print(type(single_tuple_error))
# 0
# <class 'int'>
एका घटकासह ट्युपल तयार करण्यासाठी अनुगामी स्वल्पविराम आवश्यक आहे.
single_tuple = (0, )
print(single_tuple)
print(type(single_tuple))
# (0,)
# <class '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 गोल कंस वगळले जाऊ शकते.
एक घटक असलेल्या ट्युपलला स्वल्पविराम का आवश्यक आहे याचे कारण म्हणजे ट्युपल हे गोल कंसात बंद केलेले मूल्य नसून स्वल्पविरामाने विभक्त केलेले मूल्य आहे.
हा स्वल्पविराम आहे जो ट्युपल तयार करतो, गोल कंस नाही.
Tuples — Built-in Types — Python 3.10.4 Documentation
जरी गोल कंस () वगळले असले तरी, ते ट्यूपल म्हणून प्रक्रिया केली जाते.
t = 0, 1, 2
print(t)
print(type(t))
# (0, 1, 2)
# <class 'tuple'>
लक्षात घ्या की ऑब्जेक्ट नंतर अनावश्यक स्वल्पविराम ट्युपल मानला जातो.
t_ = 0,
print(t_)
print(type(t_))
# (0,)
# <class 'tuple'>
रिकामे टपल
वर नमूद केल्याप्रमाणे, ट्युपलचे प्रतिनिधित्व करताना गोल कंस () वगळले जाऊ शकतात, परंतु रिक्त ट्यूपल तयार करताना ते आवश्यक असतात.
केवळ स्पेस किंवा स्वल्पविरामाने सिंटॅक्स एरर येईल.
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() द्वारे व्युत्पन्न केले जाऊ शकतात.
empty_tuple = tuple()
print(empty_tuple)
print(type(empty_tuple))
# ()
# <class 'tuple'>
फंक्शन आर्ग्युमेंट्समधील टपल्स
सिंटॅक्टिक अस्पष्टता असतानाही टपल राउंड ब्रॅकेट () आवश्यक आहेत.
फंक्शन आर्ग्युमेंट्स स्वल्पविरामाने विभक्त केले जातात, परंतु या प्रकरणात, फंक्शन ट्यूपल आहे की नाही हे गोल कंस () च्या उपस्थितीने किंवा अनुपस्थितीद्वारे स्पष्टपणे सूचित करणे आवश्यक आहे.
कंस न करता (), प्रत्येक मूल्य प्रत्येक वितर्क पास केले जाते; कंस () सह, प्रत्येक मूल्य एका युक्तिवादासाठी टपल म्हणून दिले जाते.
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'>
जर ट्यूपल तारकाने * चिन्हांकित केले असेल तर, ट्यूपलचे घटक विस्तारित केले जाऊ शकतात आणि वितर्क म्हणून पास केले जाऊ शकतात.
example(*(0, 1))
# 0 <class 'int'>
# 1 <class 'int'>
अधिक माहितीसाठी, पुढील लेख पहा.