我试图用属性覆盖 Python (2.7) 类的成员,如以下代码所示:
class Base:
def __init__(self):
self.foo = 1
class Derived(Base):
foo = property(lambda self: 2)
print Derived().foo
但是,最后一行打印的是 1 而不是 2。从我认为属性应该工作的方式(即,稍后轻松地将成员更改为函数),这对我来说似乎违反直觉。我错过了什么吗?有一些解决方法吗?