【发布时间】:2011-03-24 12:57:11
【问题描述】:
这是一个例子
class A(object):
def f1(self):
return []
test1 = property(f1)
class B(A):
def f1(self):
return [1, 2]
if __name__ == "__main__":
b = B()
print b.test1
我希望输出为 [1, 2],但它会打印 []。
这出乎我的意料。
我在代码中犯了什么错误吗?如果不是,我想它是这样工作的,因为在创建属性 test1 时,它绑定到基类 A 的 f1 函数。实现我想要的可能的替代实现是什么?
【问题讨论】:
-
顺便说一句,为什么 CW 是一个完美的技术问题,容易受到尖锐和同样技术性答案的影响?!我在发现 CW 标签之前做出了回应——但是,我讨厌并且通常会避免被错误标记的问题(显然不应该是 CW,反之亦然)。
标签: python inheritance properties