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

पायथन में जंजीर वाले असाइनमेंट कैसे काम करते हैं? क्या वे वास्तव में एकाधिक अनुक्रमिक असाइनमेंट के बराबर हैं?

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

How do chained assignments work in Python? Are they truly equivalent to multiple sequential assignments?

पायथन में जंजीरदार असाइनमेंट को समझना

पाइथन में जंजीरदार असाइनमेंट, जिसका उदाहरण "x = y = somefunction()" जैसे भाव हैं, ने स्पार्क किया है एकाधिक अनुक्रमिक असाइनमेंट ("x = somefunction(); y = somefunction()") के साथ उनकी समानता के संबंध में चर्चा। इस मामले को स्पष्ट करने के लिए, आइए जंजीर वाले असाइनमेंट के संचालन के बारे में विस्तार से जानें।

एक जंजीर असाइनमेंट में, सबसे बायां लक्ष्य पहले सौंपा गया है। इसलिए, "x = y = somefunction()" इसके बराबर है:

temp = somefunction()
x = temp
y = temp

यह आदेश महत्वपूर्ण है, क्योंकि बाईं ओर के लक्ष्य को अस्थायी चर "temp" का मान दाईं ओर के लक्ष्य को सौंपे जाने से पहले प्राप्त होता है। यह एक जंजीर असाइनमेंट फ़ंक्शन के डिस्सेप्लर में स्पष्ट है:

>>> def chained_assignment():
...     x = y = some_function()
...
>>> import dis
>>> dis.dis(chained_assignment)
  2           0 LOAD_GLOBAL              0 (some_function)
              3 CALL_FUNCTION            0
              6 DUP_TOP
              7 STORE_FAST               0 (x)
             10 STORE_FAST               1 (y)
             13 LOAD_CONST               0 (None)
             16 RETURN_VALUE

ध्यान दें कि फ़ंक्शन द्वारा लौटाया गया मान पहले "x" में संग्रहीत होता है, फिर "y" में।

श्रृंखलाबद्ध असाइनमेंट के व्यवहार को समझने के लिए यह समझ महत्वपूर्ण है। उदाहरण के लिए, "x = y = []" जैसी अभिव्यक्तियों से बचना चाहिए, क्योंकि "x" और "y" दोनों एक ही सूची को संदर्भित करेंगे। इसके बजाय, अलग-अलग सूचियाँ बनाने के लिए "x = []" और "y = []" जैसे अलग-अलग असाइनमेंट को प्राथमिकता दें।

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

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

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

Copyright© 2022 湘ICP备2022001581号-3