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

पायथन में delattr() और del() फ़ंक्शन


ये दोनों फ़ंक्शन क्लासेस से एट्रिब्यूट हटाने के लिए उपयोग किए जाते हैं। delattr() एट्रिब्यूट को डायनामिक रूप से हटाने की अनुमति देता है जबकि del() एट्रिब्यूट को स्पष्ट रूप से हटाने में अधिक कुशल है।

delattr() का उपयोग

सिंटैक्स: delattr(object_name, attribute_name)
जहां object_name क्लास से इंस्टेंटिएट किए गए ऑब्जेक्ट का नाम है।
attribute_name हटाए जाने वाले एट्रिब्यूट का नाम है।

उदाहरण

नीचे दिए गए उदाहरण में हम custclass नामक एक क्लास पर विचार करते हैं। इसमें ग्राहकों की आईडी इसके एट्रिब्यूट के रूप में हैं। अगला हम क्लास को customer नामक ऑब्जेक्ट के रूप में इंस्टेंटिएट करते हैं और इसके एट्रिब्यूट प्रिंट करते हैं।

class custclass:
    custid1 = 0
    custid2 = 1
    custid3 = 2

customer = custclass()
print(customer.custid1)
print(customer.custid2)
print(customer.custid3)

आउटपुट

0
1
2

उदाहरण

अगले चरण में हम delattr() फ़ंक्शन लागू करके फिर से प्रोग्राम चलाते हैं। इस बार जब हम id3 प्रिंट करना चाहते हैं, तो हमें त्रुटि मिलती है क्योंकि एट्रिब्यूट क्लास से हटा दिया गया है।

class custclass:
    custid1 = 0
    custid2 = 1
    custid3 = 2

customer = custclass()
print(customer.custid1)
print(customer.custid2)
delattr(custclass, 'custid3')
print(customer.custid3)

आउटपुट

0
Traceback (most recent call last):
  File "xxx.py", line 13, in 
    print(customer.custid3)
AttributeError: 'custclass' object has no attribute 'custid3'

del() का उपयोग

सिंटैक्स: del(object_name.attribute_name)
जहां object_name क्लास से इंस्टेंटिएट किए गए ऑब्जेक्ट का नाम है।
attribute_name हटाए जाने वाले एट्रिब्यूट का नाम है।

उदाहरण

हम del() फ़ंक्शन के साथ उपरोक्त उदाहरण को दोहराते हैं। कृपया ध्यान दें कि delattr() से सिंटैक्स में अंतर है।

class custclass:
    custid1 = 0
    custid2 = 1
    custid3 = 2

customer = custclass()
print(customer.custid1)
print(customer.custid2)
del(custclass.custid3)
print(customer.custid3)

आउटपुट

0
1
Traceback (most recent call last):
  File "xxx.py", line 13, in 
    print(customer.custid3)
AttributeError: 'custclass' object has no attribute 'custid3'
  1. - Python इटरेबल और इटरेटर के बीच अंतर

    एक इटरेबल को मोटे तौर पर एक ऑब्जेक्ट के रूप में परिभाषित किया जा सकता है जो बिल्ट-इन मेथड iter() को पास किए जाने पर एक इटरेटर उत्पन्न करेगा। एक ऑब्जेक्ट के इटरेबल होने के लिए कुछ शर्तें हैं, क्लास के ऑब्जेक्ट को दो इंस्टेंस मेथड परिभाषित करने की आवश्यकता है: __len__ और __getitem__। एक ऑब्जेक्ट जो इ

  1. - पायथन में == और is ऑपरेटर के बीच अंतर

    समस्या विवरण is और == ऑपरेटर ज्यादातर समान हैं लेकिन वे समान नहीं हैं। is ऑपरेटर परिभाषित करता है कि क्या दोनों वेरिएबल एक ही ऑब्जेक्ट को इंगित करते हैं जबकि == चिन्ह जांचता है कि दो वेरिएबल के मान समान हैं या नहीं। उदाहरण कोड # पायथन प्रोग्राम: == और is ऑपरेटर के बीच अंतर दिखाने के लिए # [] एक खाल

  1. - पायथन एक्सेप्शन मैसेज को कैसे कैप्चर और प्रिंट करें?

    पायथन एक्सेप्शन मैसेज को दो कोड उदाहरणों में दिखाए अनुसार अलग-अलग तरीकों से कैप्चर और प्रिंट किया जा सकता है। पहले में, हम एक्सेप्शन ऑब्जेक्ट के message एट्रिब्यूट का उपयोग करते हैं। उदाहरण try: a = 7/0 print(float(a)) except BaseException as e: print(e.message) आउटपुट integer division o