की आवश्यकता है मुझे समझ में क्यों इस कोड काम करता हैं:विधि स्पष्ट `self` तर्क
class MyClass(object):
def f(self): print "Hello"
ff = f
def g(self): self.ff()
MyClass().g()
जबकि इस कार्य नहीं करता:
: के बाद से यह एक तर्कself.ff[0](self)
जरूरत
class MyClass(object):
def f(self): print "Hello"
ff = f,
def g(self): self.ff[0]()
MyClass().g()
TypeError: f() takes exactly 1 argument (0 given)
self.ff[0] == self.f
पिछले मामले में self.ff == self.f
जैसा नहीं है?
मैं 100% निश्चित नहीं हूं, लेकिन विधियां कार्य हैं जो कक्षा के सदस्य हैं। आपके दूसरे उदाहरण में, एफएफ एक टुपल है, फ़ंक्शन नहीं है और एफएफ [0] MyClass का सदस्य नहीं है। यह सिर्फ एक समारोह है। –
क्यों 'एफएफ [0] 'कक्षा का सदस्य नहीं है? –
क्या यह एक बेहतर खिताब है? यह एक दिलचस्प सवाल है, इसके लिए धन्यवाद! –