C मध्ये, फंक्शनमधून अनेक रिटर्न व्हॅल्यूज परत करणे खूप त्रासदायक आहे, परंतु पायथनमध्ये ते करणे खूप सोपे आहे.
स्वल्पविरामाने विभक्त केलेले परतावे
पायथनमध्ये, तुम्ही स्वल्पविरामाने विभक्त केलेली स्ट्रिंग किंवा संख्यांची सूची परत करू शकता.
उदाहरण म्हणून, असे फंक्शन परिभाषित करा जे खाली दर्शविल्याप्रमाणे फक्त एक स्ट्रिंग आणि संख्या मिळवते, प्रत्येक रिटर्न नंतर स्वल्पविरामाने विभक्त करून.
def test(): return 'abc', 100
Python मध्ये, स्वल्पविरामाने विभक्त केलेली मूल्ये कंस शिवाय ट्यूपल्स मानली जातात, जेथे सिंटॅक्टिकली आवश्यक असते. म्हणून, वरील उदाहरणातील फंक्शन घटक म्हणून प्रत्येक मूल्यासह एक ट्युपल देईल.
हा स्वल्पविराम आहे जो ट्युपल तयार करतो, गोल कंस नाही. गोल कंस वगळले जाऊ शकतात, रिकाम्या ट्यूपल्सच्या बाबतीत किंवा सिंटॅक्टिक अस्पष्टता टाळण्यासाठी आवश्यक असल्यास.
Built-in Types — Python 3.10.0 Documentation
रिटर्न व्हॅल्यूचा प्रकार ट्युपल आहे.
result = test() print(result) print(type(result)) # ('abc', 100) # <class 'tuple'>
प्रत्येक घटक फंक्शनद्वारे परिभाषित केलेल्या प्रकाराचा असेल.
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
ते अनपॅक केले जाऊ शकते आणि विभक्त व्हेरिएबल्ससाठी एकाधिक परतावा मूल्ये नियुक्त केली जाऊ शकतात.
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]
सूची परत करते.
[]
तुम्ही यासह संलग्न केल्यास, रिटर्न व्हॅल्यू ट्युपल ऐवजी सूची असेल.
def test_list(): return ['abc', 100] result = test_list() print(result) print(type(result)) # ['abc', 100] # <class 'list'>