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