class Foo:
def __init__(self,x):
self.x=x
def __getattr__(self, item):
print('执行的是getattr')
# return self.__dict__[item]
def __getattribute__(self, item): #不管能不能找到,均可触发
print('执行的是getattribute') #大哥先工作
raise AttributeError('抛出异常了') #大哥下发指令给小弟,触发运行 __getattr__(self, item),“执行的是getattr”
f1=Foo(10)
# f1.x
f1.xxxxxx #不存在的属性访问,触发__getattr__
#结果
执行的是getattribute
执行的是getattr
Python之内置函数补充
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、常见的内置函数 1. 查看内置函数: 2. 常见函数: 3. 进制转换函数: 4. 补充: (1) enume...
- 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。 P...
- #####1.局部变量&全局变量局部变量是在函数内部定义的,全局变量是在函数的外部定义的,在函数的内部可以访问全局...
- 示例先行之exec()、eval() 注:使用Python2作示例,2与3有区别,后文会提,其实区别没那么大。执行...