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

पायथन में वृद्धि और कमी ऑपरेटर?

पायथन में यूनरी इंक्रीमेंट/डिक्रीमेंट ऑपरेटर (++/--) नहीं है। मान बढ़ाने के बजाय, उपयोग करें

a += 1

किसी मान को घटाने के लिए, उपयोग करें−

a -= 1

उदाहरण

>>> a = 0
>>>
>>> #Increment
>>> a +=1
>>>
>>> #Decrement
>>> a -= 1
>>>
>>> #value of a
>>> a
0

पायथन एक ही काम करने के कई तरीके प्रदान नहीं करता है।

हालाँकि, सावधान रहें यदि आप C जैसी भाषा से आ रहे हैं, तो पायथन में "चर" नहीं है, इस अर्थ में कि C करता है, इसके बजाय अजगर नामों और वस्तुओं का उपयोग करता है और अजगर में पूर्णांक (int) अपरिवर्तनीय होते हैं।

आइए इसे एक उदाहरण से समझते हैं-

>>> a =1
>>> print(id(a))
1919375088
>>> print(hex(id(a)))
0x726756f0

तो अजगर में उपरोक्त कथन का अर्थ है:एक प्रकार की वस्तु बनाएं जिसका मान 1 हो और उसे नाम दें। ऑब्जेक्ट int का एक उदाहरण है जिसका मान 1 है और नाम इसका संदर्भ देता है। निर्दिष्ट नाम a और जिस वस्तु को यह संदर्भित करता है वह अलग है।

अब वृद्धि करते हैं a

>>> a +=1
>>> print(id(a))
1919375104
>>> print(hex(id(a)))
0x72675700

जैसा कि int अपरिवर्तनीय हैं, अजगर उपरोक्त कथन को इस रूप में समझता है

  • उस वस्तु को देखें जिसे a संदर्भित करता है (यह एक int और id 0x726756f0) है

  • ऑब्जेक्ट का मान देखें 0x726756f0 (यह 1 है)।

  • उस मान में 1 जोड़ें (1+1 =2)

  • मान 2 के साथ एक नया इंट ऑब्जेक्ट बनाएं (ऑब्जेक्ट आईडी 0x72675700 के साथ)।

  • इस नई वस्तु (0x72675700) के लिए नाम को फिर से बांधें

  • अब a ऑब्जेक्ट 0x72675700 को संदर्भित करता है और पिछली ऑब्जेक्ट (0x726756f0) को अब a नाम से संदर्भित नहीं किया जाता है। यदि मूल वस्तु के संदर्भ में कोई अन्य नाम नहीं हैं, तो यह बाद में एकत्र किया गया कचरा होगा।

तो ऊपर से, आप समझ सकते हैं कि हम कब करते हैं:a +=1

यह a को a+1 को पुन:असाइन करेगा। यह इंक्रीमेंट ऑपरेटर नहीं है, क्योंकि यह a को नहीं बढ़ाता है, लेकिन इसे फिर से असाइन करता है।

आइए कुछ और उदाहरण के साथ उपरोक्त वेतन वृद्धि/कमी को समझते हैं-

>>> a = b = c =1
>>> id(a)
1919375088
>>> id(b)
1919375088
>>> id(c)
1919375088
>>> #Above all have the same id
>>>
>>> # Now increment a
>>> a +=1
>>> id(a)
1919375104
>>> id(b)
1919375088
>>> id(c)
1919375088

ऊपर से आप समझ सकते हैं कि हमारे पास एक ही वस्तु है जिसे ए, बी और सी संदर्भित करता है (आईडी 1919375088 के साथ एक इंट)

a के मान को बढ़ाने पर, अब a को a+1 (id:1919375104) पर फिर से साइन किया जाता है और अन्य b और c एक ही ऑब्जेक्ट (1919375088) को संदर्भित करता है।

इसके अलावा अजगर ++/-- ऑपरेटर के साथ आता है।

>>> a =1
>>> ++a
1
>>> --a
1

  1. पायथन में ++ और -- ऑपरेटरों का व्यवहार क्या है?

    C/C++ और Java आदि में ++ और -- ऑपरेटर्स को इंक्रीमेंट और डिक्रीमेंट ऑपरेटर्स के रूप में परिभाषित किया गया है। पायथन में उन्हें ऑपरेटरों के रूप में परिभाषित नहीं किया गया है। पायथन में वस्तुओं को स्मृति में संग्रहीत किया जाता है। चर सिर्फ लेबल हैं। संख्यात्मक वस्तुएं अपरिवर्तनीय हैं। इसलिए उन्हें बढ

  1. पायथन में ++ और -- ऑपरेटर कैसे काम करते हैं?

    C, C++, Java etc++ और -- ऑपरेटरों में एक वेरिएबल के मान में 1 से वृद्धि और कमी होती है। पायथन में ये ऑपरेटर काम नहीं करेंगे। पायथन में वेरिएबल्स मेमोरी में ऑब्जेक्ट्स के लिए सिर्फ लेबल होते हैं। पायथन में संख्यात्मक वस्तुएं अपरिवर्तनीय हैं। इसलिए a++ (यदि a=10) द्वारा हम 10 ऑब्जेक्ट के मान को 11 त

  1. हम एक स्ट्रिंग का मूल्यांकन कैसे करते हैं और पायथन में किसी ऑब्जेक्ट को वापस कैसे करते हैं?

    अंतर्निहित eval() फ़ंक्शन के लिए एक स्ट्रिंग तर्क की आवश्यकता होती है। हालाँकि, पायथन इंटरप्रेटर स्ट्रिंग को पायथन एक्सप्रेशन के रूप में मानता है और मूल्यांकन करता है कि क्या यह मान्य है और फिर एक्सप्रेशन के परिणामस्वरूप टाइप ऑब्जेक्ट लौटाता है। अंकगणितीय व्यंजक युक्त स्ट्रिंग >>> x=eval(&