【发布时间】:2010-01-08 09:27:07
【问题描述】:
基于this answer,__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()
基本上,因为A的__new__返回一个继承A和B的动态创建的C,它应该有一个属性bar。
为什么C没有有bar属性?
【问题讨论】:
-
基于什么答案?您是否缺少链接?
-
罗杰,多米尼克,是的,链接丢失了。现在适当地更新了问题。
-
仍然没有看到问题。如果有您不理解的错误消息,请包含错误消息(如果是异常则回溯)。
标签: python multiple-inheritance