描述符,包括函数、属性、静态方法和类方法,通过给出一个Python的示例应用来展示描述符是如何工作的.
...熟练掌握描述符不仅让你拥有python使用的额外技巧,并且可以加深对Python内部如何工作的理解,提升对程序设计的能力,而且体会到python的设计优雅之处
定义和介绍
一般来说,描述符是带有...__get__(obj)
然而,描述符更常用的方式是属性访问时被自动调用,例如:obj.d 在obj的字典中查找d,如果d定义了方法__get__(),然后d....__getattribute__() 查询
注意:在python2.2,如果m是一个数据描述符,super(B, obj).m() 会调用__get__(),在python2.3,无数据描述符也会执行调用...唯一不同之处,就是第一个参数用来表示对象实例,python约定,实例引用可以使self或者this或者其他变量名称
为了支持方法调用,函数通过__get__()方法来实现属性访问时的方法绑定