__getattribute__ 方法功能:

1 调用属性会触发该功能,属性存在则会返回相应的值;
2 如果属性不存在则会抛出异常AttributeError,所以可以自定义异常信息
3 存在__getattr__,若有异常出现则会传递给__getattr__用来接收,执行操作

class Foo:def __init__(self,x):self.x=xdef __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

转载于:https://www.cnblogs.com/Meanwey/p/9788821.html

Python进阶-----类的内置方法__getattribute__相关推荐

  1. python 面向对象 类的内置方法

    判断是不是类cls的对象 class A:passa = A() print(isinstance(a,A)) 判断类sub是不是super的子类 class A:passclass B(A):pas ...

  2. python 类的内置方法_Python 类的常用内置方法

    类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发. 1.1__new__ __new__:在___init__触发前, ...

  3. python __repr__方法_第8.13节 Python类中内置方法__repr__详解

    当我们在交互环境下输入对象时会直接显示对象的信息,交互环境下输入print(对象)或代码中print(对象)也会输出对象的信息,这些输出信息与两个内置方法:__str__方法和__repr__方法有关 ...

  4. 类的属性、类的方法、类的内置方法

    类的属性 变量在类中称为类的属性,函数在类中称为类的方法,类的属性分为以下几种: (1) 公有属性:在类中和类外都能调用的属性,定义的时候与变量的定义一致,如 color = 'yellow' (2) ...

  5. 【python object类及其内置方法】

    1. object类 object类所有类的父类,默认所有的类都继承至object类 当我们定义一个类,没有指定他的父类时,它默认就是继承了object类 例如 class Student:pass ...

  6. Python中常用的内置方法

    Python中常用的内置方法: 比较大小.求和 如下所示: 代码块: #枚举:返回索引值和对应的value值for i,v in enumerate('westos'):print(i,v)#zips ...

  7. python中字典类型中的item是什么-python中 字典类型内置方法

    python中 字典类型内置方法 一.字典(dict) ​ 1·. 存多个值,但是每一个值都有一个key与之对应.列如存在值有姓名:jiayi.年龄:18.身高:173 ​ 2.定义方式 ​ 在{}内 ...

  8. python 类的内置方法_【转】[python] 类常用的内置方法

    原文:http://xukaizijian.blog.163.com/blog/static/170433119201111894228877/ 内置方法 说明 __init__(self,...) ...

  9. python类的内置方法_python面向对象之类中的内置方法

    __setattr__,__delattr__,__getattr__,__getattribute__以及标准类型的二次加工 __setattr__,__delattr__,__getattr__的 ...

  10. python面向对象 : 反射和内置方法

    一. 反射 1. isinstance()和issubclass() isinstance( 对象名, 类名) : 判断对象所属关系,包括父类  (注:type(对象名) is 类名 : 判断对象所属 ...

最新文章

  1. 【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )
  2. 用Python分析元旦旅游热门城市,告诉你哪些景点性价比更高
  3. php 去年年初和年底时间,PHP 日期与时间
  4. 2021年中国移动游戏行业深度洞察报告
  5. Eclipse SVN冲突解决方案
  6. oracle非延迟约束,Oracle可延迟约束Deferable的使用
  7. 第一章节 c#面向对象
  8. 上海计算机一级和四六级,上海市关于英语四六级考试的改革通知
  9. 如何保证电脑硬盘格式化后数据不能被恢复?
  10. 7-2 然后是几点 (15 分)
  11. ubuntu18.04程序开机自启动
  12. 让AWS虚机访问公司内网资源(SSH反向代理)
  13. 图形界面介绍Violation Browser
  14. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)
  15. 谷歌打不开?谷歌在华遭遇至今最大规模屏蔽
  16. python模块及包的导入
  17. 留良乡七个投资理财妙招助你养老金翻番
  18. 计算机二级程序设计题和答案不同,计算机二级C语言程序设计测试题及答案
  19. 另类解读宏观形势:美联储或将很快结束加息进程,重回量化宽松?
  20. Linux0.11内核源码解析-setup.s

热门文章

  1. Linux下卸载miniconda3(Anaconda类系)
  2. 2021年3月计算机语言排名,2021年3月编程语言排行榜:TOIBE将迎来重大改变,SQL如愿挤进前十...
  3. android自定义滤镜,让IjkPlayer支持插入自定义的GPU滤镜方法
  4. ValueError: This sheet is too large! Your sheet size
  5. yolo v4模型训练过程(超详细)
  6. 总结 | 四篇图网络综述文章提出的Future Directions
  7. 用python简单处理图片(3):添加水印
  8. 基于Python的《庆余年》评论分析
  9. Map集合常用方法总结
  10. C++ emplace_back()是什么