所以我知道在Python中,一切都是'對象',這意味着它可以作爲參數傳遞給方法。但我試圖瞭解這項工作到底如何。所以我嘗試了下面的例子:python方法作爲參數
class A:
def __init__(self):
self.value = 'a'
def my_method(self)
print self.value
class B:
def __init__(self):
self.values = 'b'
def my_method(self, method):
method()
a = A()
b = B()
b.my_method(a.my_method)
現在第一個這是爲了看看事情是如何工作的。我知道我應該例如檢查my_method
的參數是否可以調用。現在我的問題是:
這個方法到底在哪裏?我的意思是我收到的輸出是'a',所以我猜測,當一個對象方法作爲參數傳遞,那麼實際的對象呢?在這種情況下,當我通過a.my_method
實例a
也通過?
如果你使用Python 2,使用'class A(object):'而不是'class A:'來獲得「新風格的類」,這通常更好,你應該使用什麼。 –