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

डिस्ट्रक्टर विधि __del__() पायथन में कैसे काम करती है?

<शरीर>

__del__() विधि एक विध्वंसक विधि के रूप में जानी जाती है। इसे तब कहा जाता है जब कोई वस्तु कचरा एकत्र किया जाता है जो वस्तु के सभी संदर्भों को हटा दिए जाने के बाद होता है।

एक साधारण मामले में यह सही हो सकता है जब आप फ़ंक्शन समाप्त होने के बाद, डेल एक्स जैसे चर को हटा दें या, यदि x एक स्थानीय चर है। विशेष रूप से, जब तक कि परिपत्र संदर्भ न हों, CPython जो कि मानक पायथन कार्यान्वयन है, तुरंत कचरा एकत्र करेगा।

पायथन कचरा संग्रह की एकमात्र संपत्ति यह है कि यह सभी संदर्भों को हटा दिए जाने के बाद होता है, इसलिए यह आवश्यक रूप से ठीक बाद में नहीं हो सकता है और यहां तक ​​​​कि बिल्कुल भी नहीं हो सकता है।

इससे भी अधिक, उदाहरण के लिए, चर कई कारणों से लंबे समय तक जीवित रह सकते हैं। एक प्रचार अपवाद या मॉड्यूल आत्मनिरीक्षण चर संदर्भ गणना को 0 से अधिक रख सकता है। इसके अलावा, चर परिपत्र संदर्भों का एक हिस्सा हो सकता है - कचरा संग्रह के साथ CPython सबसे अधिक ब्रेक पर चालू होता है, लेकिन सभी नहीं, ऐसे चक्र, और तब भी केवल समय-समय पर।

__del__ के लिए वैध उपयोग के मामले हैं:उदाहरण के लिए, यदि कोई ऑब्जेक्ट X, Y को संदर्भित करता है और Y संदर्भ की एक प्रति वैश्विक कैश (कैश ['X -> Y'] =Y) में रखता है, तो यह X के लिए विनम्र होगा। __del__ कैश प्रविष्टि को भी हटाने के लिए।

यदि आप जानते हैं कि विध्वंसक एक आवश्यक सफाई प्रदान करता है, तो आप इसे सीधे कॉल करना चाह सकते हैं, x.__del__()।


  1. पाइथन में [\d+] रेगुलर एक्सप्रेशन कैसे काम करता है?

    निम्न कोड दिखाता है कि रेगुलर एक्सप्रेशन [\d+] दिए गए स्ट्रिंग पर क्या करता है [\d+] रेगुलर एक्सप्रेशन एक अंक (0-9) या + वर्ण को दर्शाता है उदाहरण import re result = re.findall(r'[\d+]', 'Taran123tula+456') print result आउटपुट ['1', '2', '3', '+', 

  1. पाइथन फाइलों में अंडरस्कोर _ कैसे काम करता है?

    पायथन में अंडरस्कोर (_) खास है। पायथन में अंडरस्कोर का उपयोग करने के 5 मामले हैं। 1. दुभाषिया में अंतिम अभिव्यक्ति के मूल्य को संग्रहीत करने के लिए। पायथन दुभाषिया अंतिम अभिव्यक्ति मान को _ नामक विशेष चर में संग्रहीत करता है। उदाहरण के लिए >>> 12 + 10 22 >>> _ 22 2. विशिष्ट मूल्

  1. mkdir -p पायथन में कैसे काम करता है?

    mkdir -p का उपयोग माता-पिता के मौजूद होने पर भी पुनरावर्ती निर्देशिका बनाने की अनुमति देने के लिए किया जाता है। एक निर्देशिका को पुनरावर्ती रूप से बनाने के लिए, वह पथ प्रदान करें जिसे आप os.makedirs(path) पर बनाना चाहते हैं। पुनरावर्ती रूप से एक निर्देशिका बनाने के लिए, आपको मौजूदा फ़ोल्डरों को अनुम