Py学习  »  Python

python属性和方法重写问题:为什么subclass属性仍然调用基类的方法

Anthony Kong • 5 年前 • 892 次点击  

下面是一个例子

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函数。实现我想要的是什么样的可选实现?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31053
 
892 次点击  
文章 [ 3 ]  |  最新文章 5 年前