मैं अंतर को समझने के बीच कोशिश कर रहा हूँ __getattr__
और __getattribute__
, फिर भी, मैं इसे में नाकाम रहने के कर रहा हूँ।
बनाम के बीच स्टैक ओवरफ्लो प्रश्न अंतर का उत्तर कहता है:__getattr__
__getattribute__
__getattribute__
ऑब्जेक्ट पर वास्तविक विशेषताओं को देखने से पहले इसे लागू किया जाता है, और इसलिए इसे सही तरीके से लागू करने के लिए मुश्किल हो सकता है। आप अनंत पुनरावृत्तियों में बहुत आसानी से समाप्त हो सकते हैं।
मुझे बिल्कुल पता नहीं है कि इसका क्या मतलब है।
तो यह कहने पर चला जाता है:
आप लगभग निश्चित रूप से चाहते हैं
__getattr__
।
क्यों?
मैंने पढ़ा है कि यदि __getattribute__
विफल रहता है, __getattr__
तो कहा जाता है। तो एक ही काम करने के दो अलग-अलग तरीके क्यों हैं? यदि मेरा कोड नई शैली की कक्षाओं को लागू करता है, तो मुझे क्या उपयोग करना चाहिए?
मैं इस प्रश्न को स्पष्ट करने के लिए कुछ कोड उदाहरणों की तलाश कर रहा हूं। मैं अपनी सर्वश्रेष्ठ क्षमता के लिए Googled हूं, लेकिन मुझे जो उत्तर मिले वे समस्या पर पूरी तरह से चर्चा नहीं करते हैं।
यदि कोई दस्तावेज है, तो मैं उसे पढ़ने के लिए तैयार हूं।