Python3基础 __getattr__ 在访问一个不存在的属性时,新增提示功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3基础 __getattr__ 在访问一个不存在的属性时,新增提示功能相关的知识,希望对你有一定的参考价值。
镇场诗:
诚听如来语,顿舍世间名与利。愿做地藏徒,广演是经阎浮提。
愿尽吾所学,成就一良心博客。愿诸后来人,重现智慧清净体。
——————————————————————————————————————————
code:
class MyClass : def __init__(self,work) : self.work=work #真是敬佩小甲鱼老师,他是怎么想到这么写的,巧妙呀 def __getattribute__(self,name) : print("你正在访问一个存在的属性") return super().__getattribute__(name) def __getattr__(self,name) : print("你正在访问一个不存在的属性") return super().__getattr__(name) def __setattr__(self,name,value) : print("你正在设置一个存在的属性的值") return super().__setattr__(name,value) def __delattr__(self,name) : print("你正在删除一个属性") return super().__delattr__(name)
result:
>>> a=MyClass(1) 你正在设置一个存在的属性的值 >>> a.NotExist #注意优先级 你正在访问一个存在的属性 你正在访问一个不存在的属性 Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> a.NotExist #注意优先级 File "C:\Users\Administrator\Desktop\myCode.py", line 11, in __getattr__ return super().__getattr__(name) AttributeError: ‘super‘ object has no attribute ‘__getattr__‘ >>> a.work=1 你正在设置一个存在的属性的值 >>> del a.work 你正在删除一个属性
——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。Python版本3.5,系统 Windows7。
Python是优秀的语言,值得努力学习。我是跟着小甲鱼视频教程学习的,推荐。
我是一个新手,所以如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取成就一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。
以上是关于Python3基础 __getattr__ 在访问一个不存在的属性时,新增提示功能的主要内容,如果未能解决你的问题,请参考以下文章
Python3基础 __getattr__ 在访问一个不存在的属性时,新增提示功能
python3中__get__,__getattr__,__getattribute__的区别