相关疑难解决方法(0)

描述符和python提供的属性

我正在学习Python,我试图更好地理解描述符.当我查看这个Python在线书籍时:http://www.cafepy.com/article/python_attributes_and_methods/ch01s05.html,它说:

  1. 如果attrname是objectname的特殊(即Python提供的)属性,则返回它.

我不明白Python提供的意思.有人能给我一个这样的Python提供的属性的例子,该属性优先于通常的解析顺序吗?

注意:我只对新式类感兴趣(据我所知,描述符甚至不适用于旧式).

python descriptor new-style-class

5
推荐指数
1
解决办法
322
查看次数

哪种Python语言规则允许首先找到描述符?

我昨晚碰到了下面的内容,我仍然无法解释它:

class Foo(object):
    @property
    def dave(self):
        vars(self)['dave'] = 1
        return 2

f = Foo()
print f.dave
print f.dave
Run Code Online (Sandbox Code Playgroud)

运行此代码会产生:

2
2
Run Code Online (Sandbox Code Playgroud)

问题是为什么?我对属性访问的理解是在类字典之前检查实例字典,并且任何基础的字典,但是如上面所见,实例字典似乎没有在类字典中找到描述符之前被检查.

python rules

2
推荐指数
1
解决办法
158
查看次数

标签 统计

python ×2

descriptor ×1

new-style-class ×1

rules ×1