属性描述符可以用来控制给属性赋值的时候的一些行为 import numbers class IntField: def __get__(self, instance, owner): return self.value def __set__(self, instance, value): if not isinstance(value, numbers.Integral): raise ValueError('int value need') if value < 0: raise Value…
属性描述符(Property Descriptor)是 ES5 之后出现的概念,顾名思义,它用于描述属性应该是什么样,例如是否只读,能否枚举,能否可配置等.所有对象属性均可使用属性描述符来定义. 属性描述符的六个属性 value 属性值. writable 是否允许赋值,true 表示允许,否则该属性不允许赋值. get 返回属性值的函数.如果为 undefined 则直接返回描述符中定义的 value 值. set 属性的赋值函数.如果为 undefined 则直接将赋值运算符右侧的值保存为属…