我有这样的结构:
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的一个实例
现在我想通过使用方法“changetogo”将它更改为Goo的一个实例,并添加其他值。在
在Python中如何做到这一点?在
我试过:
^{pr2}$但当我检查:
type(a)
还是福,不是咕。在
在Python2中,使
Foo
从object
继承以使其成为一个新样式的类:现在你可以改变
^{pr2}$self.__class__
。在changeToGoo()
方法中:或重复使用
__init__
:这确实使你的对象有点怪异,因为它们改变了身份。变形很少是个好主意。您可能需要重新考虑您的用例。在
你可以:
然后调用并赋值,添加额外的属性
^{pr2}$相关问题 更多 >
编程相关推荐