पायथन 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