为了重用一些定义为不同类的实例方法的现有代码,我想做些类似的事情:
class Foo(object): def __init__(self): self.name = "Foo" def hello(self): print "Hello, I am " + self.name + "." class Bar(object): def __init__(self): self.name = "Bar" bar = Bar() Foo.hello(bar)
但这导致:
TypeError:未绑定方法hello()必须以Foo实例作为第一个参数调用(取而代之的是Bar实例)
这样的事情可能吗?
我应该很清楚,我知道这是一个坏主意。显然,真正的解决方案是重构。我只是想必一定有办法,事实证明是有办法的。
感谢您的评论。
看起来像这样:
Foo.hello.im_func(bar)
您好,我是酒吧。
我想我需要阅读这有点困难…