__init__
में self
करने के लिए remote
नियत मतलब यह है कि instance.remote
पहले जब आप इसे self
के माध्यम से पहुँच (दी कोई वर्णनकर्ता के आसपास रहे हैं) पाया जाता है। दोनों विकल्पों, या तो self
से या type(self)
से पहुँच प्राप्त करने के लिए, वह यह है कि, या तो उदाहरण या वर्ग से:
def print_remote(self):
print(type(self).remote) # class remote
print(self.remote) # instance remote
type(self).remote
, अनिवार्य रूप से self.__class__.remote
के बराबर है, लेकिन सामान्य रूप में, है आप दुंदर नाम हथियाने से बचना चाहिए (__*__
) वहाँ जब इस मामले में आप के लिए यह करता है कि में बनाया गया एक (type
)
इन विभिन्न शब्दकोशों में रहते हैं और विभिन्न चर रहे हैं। self.remote
कक्षा के निर्देश में class.remote
के दौरान उदाहरण के क्रम में रहता है।
>>> Foo().__dict__['remote']
True
>>> Foo.__dict__['remote']
False
आप (एक सामान्य विधि में या type(self)
) एक classmethod
साथ cls
के माध्यम से पहुँच प्राप्त करते हैं जब आप self
के माध्यम से पहुँच आप कक्षा एक मिल जाएगा आप उदाहरण के एक मिलता है।
स्रोत
2017-06-09 14:50:20
आपके पास 'रिमोट 'के * वर्ग स्तर * और * उदाहरण स्तर * दोनों हैं - आप वास्तव में क्या करने की कोशिश कर रहे हैं? –
मैं जानना चाहता हूं कि self.remote और cls.remote समान चर या अलग हैं या नहीं। – 2ank3th