基于这个答案,如何__new__
以及__init__
应该如何在 Python 中工作,
我编写了这段代码来动态定义和创建一个新的类和对象。
class A(object):
def __new__(cls):
class C(cls, B):
pass
self = C()
return self
def foo(self):
print 'foo'
class B(object):
def bar(self):
print 'bar'
a = A()
a.foo()
a.bar()
基本上,因为__new__
A 返回一个动态创建的继承 A 和 B 的 C,所以它应该有一个属性bar
。
为什么C
没有属性bar
?