所以我知道在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:'来获得“新风格的类”,这通常更好,你应该使用什么。 –