Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器).docVIP

  • 4
  • 0
  • 约7.65千字
  • 约 13页
  • 2016-07-28 发布于河南
  • 举报

Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器).doc

Python:高级主题之(属性取值和赋值过程、属性描述符、装饰器)

背景 学习了Javascript才知道原来属性的取值和赋值操作访问的“位置”可能不同、还有词法作用域这个东西,这也是我学习任何一门语言会注意的两个知识点,Python的作用域和Javascript几乎一致,这里就不做解释,本文重点介绍一下三个概念: 属性取值和赋值过程 属性描述符 装饰器 本文最好会利用这些知识介绍:如何实现自定义的@staticmethod和@classmethod。 属性取值和赋值过程 一切皆是对象,类型也是对象。 对象包含一个__class__属性指向其所属类型。 对象包含一个__dict__属性指向其所包含的成员(属性和方法)。 取值过程(下面是伪代码) 1 __getattribute__(property) logic: 2  HYPERLINK  3 descripter = find first descripter in class and basess dict(property) 4 if descripter: 5 return descripter.__get__(instance, instance.__class__) 6 else: 7 if value in instance.__dict__ 8 return value 9 10 value = f

文档评论(0)

1亿VIP精品文档

相关文档