我有一个A类,我想要一个具有完全相同功能的B类.我不能或不想从B继承,例如做B(A)类:传递仍然我希望B与A相同,但有一个不同的i:id(A)!= id(B)注意,我不是在讨论实例,而是要克隆的类.
tru*_*ppo 13
我很确定你想要做的事情可以用更好的方式解决,但是这里有一些东西可以让你克隆一个带有新id的类:
def c():
class Clone(object):
pass
return Clone
c1 = c()
c2 = c()
print id(c1)
print id(c2)
Run Code Online (Sandbox Code Playgroud)
得到:
4303713312
4303831072
Run Code Online (Sandbox Code Playgroud)
我想这不是你想要的,但它的问题似乎要求......
class Foo(object):
def bar(self):
return "BAR!"
cls = type("Bar", (object,), dict(Foo.__dict__))
print cls
x = cls()
print x.bar()
Run Code Online (Sandbox Code Playgroud)