我有这样一种结构:
class Foo:
def __init__(self, val1):
self.val1 = val1
def changeToGoo(self)
HOW???
class Goo(Foo):
def __init__(self, val1, val2):
super(val1)
self.val2 = val2
a = Foo(1)
a.changeToGoo()
'a'现在是Foo的一个实例
现在我想通过使用"changeToGoo"方法将其更改为Goo的实例,并添加其他值。
这可以在Python中如何完成?
我已经尝试过:
self.__class__ = Goo
但是当我检查时:
type(a)
它仍然是Foo,而不是Goo。
new
),但同样的原因也适用于Python。我敢打赌它们不适用于OP的问题,但这不是一个“从不”的事情。 - Marcin