Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

ए + =बी पायथन में असाइनमेंट पहेली

इस अध्याय में हम देखते हैं कि क्या होता है जब हम टुपल में मानों को अपडेट करते हैं, जो वास्तव में अपरिवर्तनीय है। हम नए मूल्यों को पुराने मूल्यों के साथ मिलाने में सक्षम होंगे लेकिन यह एक त्रुटि देता है। हम त्रुटि के बायटेकोड का अध्ययन कर सकते हैं और बेहतर ढंग से समझ सकते हैं कि टपल के नियम कैसे काम करते हैं।

पहले हम एक टपल को परिभाषित करते हैं और फिर उसके अंतिम तत्व को अपडेट करने के लिए एक कमांड जारी करते हैं जैसा कि नीचे दिखाया गया है।

उदाहरण

>>> tupl =(5,7,9,[1,4])>>> tupl[3] +=[6,8]

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

 ट्रेसबैक (सबसे हालिया कॉल अंतिम):फ़ाइल "", पंक्ति 1, inTypeError:'tuple' ऑब्जेक्ट आइटम असाइनमेंट का समर्थन नहीं करता>>> tupl(5, 7, 9, [1, 4, 6, 8]) 

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

उदाहरण

def immut_function():tupl =(5,7,9,[1,4]) tupl[3] +=[6,8]immut_function()

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

टाइप एरर ट्रेसबैक (सबसे हालिया कॉल लास्ट) में () 2 tupl =(5,7,9, [1,4]) 3 tupl [3] + =[6,8] ---> 4 immut_function( ) immut_function() में 1 def immut_function ():2 tupl =(5,7,9, [1,4]) ---> 3 tupl [3] + =[6,8] 4 immut_function () लेखन त्रुटि:'टुपल' ऑब्जेक्ट आइटम असाइनमेंट का समर्थन नहीं करता है

आगे हम टपल असाइनमेंट और त्रुटियों का विवरण देखने के लिए उपरोक्त फ़ंक्शन का बाइटकोड प्रदर्शित करते हैं।

उदाहरण

आयात disdis.dis(immut_function)

आउटपुट

उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -

2 0 LOAD_CONST 1 (5) 3 LOAD_CONST 2 (7) 6 LOAD_CONST 3 (9) 9 LOAD_CONST 4 (1) 12 LOAD_CONST 5 (4) 15 BUILD_LIST 2 18 BUILD_TUPLE 4 21 STORE_FAST 0 (tupl) 3 24 LOAD_FAST 0 (tupl) 27 LOAD_CONST 6 (3) 30 DUP_TOPX 2 33 BINARY_SUBSCR 34 LOAD_CONST 7 (6) 37 LOAD_CONST 8 (8) 40 BUILD_LIST 2 43 INPLACE_ADD 44 ROT_THREE 45 STORE_SUBSCR 46 LOAD_CONST 0 (कोई नहीं) 49 RETURN_ 

निष्कर्ष यह है कि परिवर्तनशील तत्वों को टपल में नहीं डाला जाए। हालांकि असाइनमेंट संभव है, यह एक अपवाद फेंकता है। जैसा कि 46 मान वाले चरण में दिखाया गया है, असाइनमेंट विफल हो जाता है क्योंकि टपल एक अपरिवर्तनीय वस्तु है।


  1. issuperset () पायथन में

    इस लेख में, हम पायथन में issuperset() और विभिन्न क्षेत्रों में इसके कार्यान्वयन के बारे में जानेंगे। यह विधि बूलियन ट्रू लौटाती है यदि एक सेट बी के सभी तत्वों में सभी तत्व सेट ए होते हैं जो एक तर्क के रूप में पारित होते हैं और यदि ए के सभी तत्व बी में मौजूद नहीं होते हैं तो झूठा रिटर्न देता है। इस

  1. पायथन बिटवाइज़ असाइनमेंट ऑपरेटर में वर्टिकल बार क्या है?

    वर्टिकल बार (|) का अर्थ बिटवाइज़ या ऑपरेटर है। दो पूर्णांक वस्तुओं के मामले में, यह बिटवाइज़ लौटाता है या दो का संचालन करता है >>> a=4 >>> bin(a) '0b100' >>> b=5 >>> bin(b) '0b101' >>> a|b 5 >>> c=a|b >>> bin(c) '0b10

  1. पायथन में विभिन्न असाइनमेंट ऑपरेटर प्रकार क्या हैं?

    निम्न तालिका सभी असाइनमेंट ऑपरेटरों को दिखाती है - संचालक विवरण उदाहरण = राइट साइड ऑपरेंड से लेफ्ट साइड ऑपरेंड को मान असाइन करता है c =a + b मान a + b गुणा c += यह बाएँ संकार्य में दायाँ संकार्य जोड़ता है और परिणाम बाएँ संकार्य को निर्दिष्ट करता है c +=a a को c में जोड़ें -= यह बाएं ऑपरेंड से दाए