2011-10-10 14 views
7

अजगर weakref दस्तावेज़ (http://docs.python.org/library/weakref.html) में, यह कहना है किक्यों कमजोर पाइथन में अंतर्निहित प्रकारों का समर्थन नहीं करता है?

कई में निर्मित इस तरह की सूची और dict सीधे कमजोर संदर्भ का समर्थन नहीं करते लेकिन उपवर्गीकरण के माध्यम से समर्थन जोड़ सकते हैं के रूप में प्रकार

मुझे लगता है कि बड़े नियमों के लिए कमजोर बनाना कुछ असली मामलों में उपयोगी हो सकता है। मैं सोच रहा हूं कि उस कार्यान्वयन के पीछे क्या कारण है?

उत्तर

6

अधिकांश अंतर्निर्मित प्रकार सीधे कमजोर संदर्भित नहीं हैं (जैसे str, int, float, list, dict, none,), और कुछ ऐसे हैं जिन्हें उप-वर्गीकरण (जैसे टुपल्स) में भी बनाया जा सकता है CPython)।

कई अंतर्निर्मित प्रकारों के लिए कमजोर पड़ने वाले अंतर्निहित कार्यान्वयन के बारे में कुछ विवरण this March-2005 python-list post by Raymond Hettinger में पाए जा सकते हैं।

+0

धन्यवाद। अब मैं कारण देख सकता था कि क्यों tuple और str कमजोर संदर्भित नहीं किया जा सका। सूची और निर्देश के बारे में कैसे? उनके लिए कमजोर संदर्भ बनाने के लिए हमें उन प्रकारों को उप-वर्ग क्यों करना है? –

+0

यदि दूसरे अनुच्छेद में दिए गए संकेत आगे बढ़ने के लिए पर्याप्त नहीं हैं, तो मुझे डर है कि मुझे आगे की व्याख्या करने के लिए पाइथन के आंतरिक के बारे में पर्याप्त जानकारी नहीं है। शायद आप [python-dev list] (http://mail.python.org/mailman/listinfo/python-dev) पर इस तरह के प्रश्न पूछने से बेहतर होंगे। मुझे यकीन है कि अजगर देवताओं में से एक आपको अपने प्रश्न का एक निश्चित उत्तर देने में सक्षम होगा। – ekhumoro

+0

अभी यहां पहुंचे, पोस्ट का लिंक टूटा हुआ है। मुझे लगता है कि http://mail.python.org/pipermail/python-list/2005- मार्च/346301.html हालांकि यह है। –

0

मेरा शिक्षित अनुमान यह है कि कमजोरियों को लागू करने के लिए आंतरिक रूप से डिक्ट्स और सूचियों का उपयोग किया जाता है, इसलिए आपके यहां अंडे-चिकन की स्थिति होगी।