标签:style 覆盖 name dir 描述 特定 nbsp self col
dir(object) 列出对象的大多数属性
getattr(object, name) 从object对象中获取name字符串指定的属性
hasattr(object, name) 如果object对象中存在指定的属性, 或者能以某种方式通过object 对象获取指定的属性, 返回True
setattr(object, name, value) 把object对象指定属性的值设为value, 可能会创建一个新属性, 或者覆盖现有的属性
getattr(obj, ‘attr‘) 以及obj.attr 和hasattr(obj, ‘attr‘)都会触发__getattribute__(obj, ‘attr‘) 方法, 只有当尝试获取指定的属性失败,搜索过obj, class和超类之后调用__getattr__。
del obj.attr 触发Class.__delattr__(obj, ‘attr‘)方法
dir(obj)触发__dir__(obj)方法
setattr(obj, name, value) 或则通过obj.attr 设置对象属性时会调用__setattr__(self, name, value)
描述符是对多个属性运用相同存取逻辑的一种方式。
描述符是实现了特定协议的类, 这个协议包括__get__, __set__和__delete__方法
__getattr__,__getattribute__和__get__的区别
标签:style 覆盖 name dir 描述 特定 nbsp self col
原文地址:https://www.cnblogs.com/frank-shen/p/10294701.html