In the interest of reusing some existing code that was defined as an instance method of a different class, I was tying to do something like the following:
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)
but that results in:
TypeError: unbound method hello() must be called with Foo instance as first argument (got Bar instance instead)
Is something like this possible?
I should have been clear that I know this is a bad idea. Obviously the real solution is a bit of refactoring. I just figured there must be a way, and it turns out there is.
Thanks for the comments.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…