我正在尝试将所有方法和属性从一个类复制到另一个类的实例。不幸的是,我遇到了属性问题。这是一个例子:
class ToAdd(object):
@property
def foo(self):
return 'foo!'
class Base(object):
pass
b = Base()
for item, val in ToAdd.__dict__.iteritems():
if not item.startswith('__'):
setattr(b, item, val)
打电话时b.foo
我希望得到'foo!'
,但它却返回<property at 0x104a73d08>
。
请注意,这类似于 mixin,但我希望它适用于实例而不是类。