"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > नेस्टेड टपल तर्कों का उपयोग करते समय पायथन 3 सिंटेक्स त्रुटि क्यों देता है?

नेस्टेड टपल तर्कों का उपयोग करते समय पायथन 3 सिंटेक्स त्रुटि क्यों देता है?

2024-11-10 को प्रकाशित
ब्राउज़ करें:319

Why Does Python 3 Give a Syntax Error When Using Nested Tuple Arguments?

पायथन 3 में नेस्टेड तर्क

पायथन कोड चलाते समय जिसमें फ़ंक्शन पैरामीटर के रूप में नेस्टेड टपल तर्क शामिल होते हैं, किसी को सिंटैक्स त्रुटि का सामना करना पड़ सकता है:

File "/usr/local/lib/python3.2/dist-packages/simpletriple.py", line 9
    def add(self, (sub, pred, obj)):
                  ^
SyntaxError: invalid syntax

कारण

पायथन 3 में, टपल पैरामीटर अनपैकिंग हटा दी गई थी। इसका मतलब यह है कि फ़ंक्शंस अब ट्यूपल्स को तर्क के रूप में स्वीकार नहीं कर सकते हैं और उन्हें सीधे वेरिएबल्स में अनपैक कर सकते हैं। टपल को अलग-अलग वेरिएबल में मैन्युअल रूप से अनपैक करने का फ़ंक्शन। यहां एक उदाहरण है:

def add(self,sub_pred_obj): # पिछला सिंटैक्स: def add(self, (sub, pred, obj)) उप, पूर्व, ओबीजे = उप_प्रेड_ओबीजे # ... शेष फ़ंक्शन

यह संशोधन सब_प्रेड_ओबीजे टपल को अलग-अलग वेरिएबल सब, प्रीड और ओबीजे में अनपैक करता है।

def add(self, sub_pred_obj): # Previous syntax: def add(self, (sub, pred, obj))
    sub, pred, obj = sub_pred_obj
    # ... rest of the function

यदि फ़ंक्शन एक लैम्ब्डा फ़ंक्शन है, तो मैन्युअल अनपैकिंग संभव नहीं है। इसके बजाय, टपल को एकल पैरामीटर के रूप में पास करने और अनुक्रमण के माध्यम से इसके तत्वों तक पहुंचने पर विचार करें:

lambda xy: (xy[1], xy[0]) # इसके बजाय: Lambda (x, y) : (y, x)

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3