首页 > 代码库 > Python3基础 __getattr__ 在访问一个不存在的属性时,新增提示功能
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__ 在访问一个不存在的属性时,新增提示功能
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。