Python进阶-----类的内置方法__getattribute__
Posted Meanwey
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python进阶-----类的内置方法__getattribute__相关的知识,希望对你有一定的参考价值。
__getattribute__ 方法功能:
1 调用属性会触发该功能,属性存在则会返回相应的值;
2 如果属性不存在则会抛出异常AttributeError,所以可以自定义异常信息
3 存在__getattr__,若有异常出现则会传递给__getattr__用来接收,执行操作
class Foo: def __init__(self,x): self.x=x def __getattr__(self, item): print(‘执行的是我‘) # return self.__dict__[item] def __getattribute__(self, item): #调取属性无论是否存在均会触发它 print(‘不管是否存在,我都会执行‘) raise AttributeError(‘哈哈‘) #其实就是python内部的处理方式 f1=Foo(10) f1.x f1.xxxxxx #当__getattribute__与__getattr__同时存在,只会执行__getattrbute__,除非__getattribute__在执行过程中抛出异常AttributeError
以上是关于Python进阶-----类的内置方法__getattribute__的主要内容,如果未能解决你的问题,请参考以下文章
Python进阶-----通过类的内置方法__format__自定制格式化字符串