我想知道爲什麼此代碼的工作:方法需要明確的`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%確定,但方法是類的成員的函數。在你的第二個例子中,ff是一個元組,不是函數,ff [0]不是MyClass的成員。這只是一個功能。 –
爲什麼'ff [0]'不是班級的成員? –
這是一個更好的標題嗎?這是一個有趣的問題,謝謝! –