我记得C ++中的以下代码:
myObj = MyClass();
typedef typeof(myObj) NewClass;
NewClass newObj = NewClass();
然后myObj
和newObj
来自MyClass。
现在我需要在function
中写一个python
并将myobject
传递给我的function
,然后再调用我constructor
myobject
。我有很多class
。
问题:我是怎么做到的?
答案 0 :(得分: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>)
>>>