0

我记得 C++ 中的以下代码:

myObj = MyClass();
typedef typeof(myObj) NewClass;
NewClass   newObj = NewClass();

然后是来自 MyClassmyObjnewObj 那种。

现在我需要写一个functioninpython并传递myobject给 my function,然后 new 调用 my constructorof myobject。我有很多class

问题:我是怎么做到的?

4

1 回答 1

2

这将创建对 MyClass 的引用:

>>> class MyClass(object):
...     pass
... 
>>> myObj = MyClass()
>>> NewClass = myObj.__class__
>>> newObj = NewClass()
>>> myObj, newObj
(<__main__.MyClass object at 0x102740d90>, <__main__.MyClass object at 0x102740d50>)

这将基于 myObj 的类创建一个新类:

>>> myObj = MyClass()
>>> NewClass = type("NewClass", (myObj.__class__,), {})
>>> newObj = NewClass()
>>> myObj, newObj
(<__main__.MyClass object at 0x102740d90>, <__main__.NewClass object at 0x102752610>)
>>> 
于 2013-08-26T11:43:21.000 回答