class Foo():def __str__(self):return "好好学习"def __getattr__(self, item):return "0000"def __setattr__(self, key, value):self.__dict__[key]=valuedef __getitem__(self, item):return 11111def __add__(self, other):return other + 1obj = Foo()
print(obj)  #调用__Str__          #打印结果:好好学习
print(obj.x) #调用 __getattr__    #打印结果:0000#当使用赋值语句对属性进行设置时,python会自动调用__setattr__()方法,
# 如果该属性不存在,则会调用__setattr__()对实例属性赋值,被赋值的属性和值会存入实例属性字典__dict__中
obj.x0=222 #设置属性
print(obj.x0) #打印结果:222print(obj['x1']) #调用 __getitem__  #打印结果:11111print(obj+8)    #调用 __add__  #打印结果:9

转载于:https://www.cnblogs.com/chvv/p/9933888.html

python中的 __getattr__ __setattr__ __getitem__ __add__相关推荐

  1. python 中的__getattr__和__setattr__

    __getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法 __setattr__当设置类实例属性时自动调用,如j.name=5 就会调用__set ...

  2. python中的特殊方法 __getitem__()

    特殊方法----getitem() Python的特殊方法__getitem_() 主要作用是可以让对象实现迭代功能.我们通过一个实例来说明. 定义一个Sentence类,通过索引提取单词. impo ...

  3. python中的__dict__,__getattr__,__setattr__

    python class 通过内置成员__dict__ 存储成员信息(字典) 首先用一个简单的例子看一下__dict__ 的用法 class A():def __init__(self,ax,bx): ...

  4. Python中的getattr()和__getattr__方法

    在看python核心编程时,看到了getattr()内建函数和__getattr__,但不太理解,就仔细的看了下并查阅了一些资料,大致了解了它们是做什么的. getattr() 先在python解释器 ...

  5. python中getitem_解析Python中的__getitem__专有方法

    __getitem__来看个简单的例子就明白: def __getitem__(self, key): return self.data[key] >>> f = fileinfo. ...

  6. python中append函数合并列表且列表内数字从高到低_35个高级Python知识点总结

    No.1 一切皆对象 众所周知,Java中强调"一切皆对象",但是Python中的面向对象比Java更加彻底,因为Python中的类(class)也是对象,函数(function) ...

  7. python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...

    1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...

  8. python深度讲解_《深度剖析CPython解释器》21. Python类机制的深度解析(第五部分): 全方位介绍Python中的魔法方法,一网打尽...

    楔子 下面我们来看一下Python中的魔法方法,我们知道Python将操作符都抽象成了一个魔法方法(magic method),实例对象进行操作时,实际上会调用魔法方法.也正因为如此,numpy才得以 ...

  9. python中的函数及面向对象的知识点

    函数 函数的定义 def functionname(parameters):```函数文档字符串```functionsuitereturn [expression] 函数以def关键字开头,后接函数 ...

  10. Python中的魔术方法详解

    介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",中文称『魔术方法』,例如类的初始化方法 __init__ ,P ...

最新文章

  1. sql server日志占用空间过大的问题
  2. 人人都是 DBA(V)SQL Server 数据库文件
  3. [转帖]Report painter
  4. 逐一应对 检修三类型视频会议常见问题
  5. UDT源码剖析(五):UDT::cleanup()过程代码注释
  6. DNS服务启动时卡在:Generating /etc/rndc.key:
  7. antdPro Nginx 打包部署
  8. 博客开园了~~~~~~
  9. 自定义注解和注解的相关使用
  10. 桌面快捷方式自动消失
  11. 微信公众号迁移公证、迁移申请函办理方法
  12. Kettle入门案例
  13. ArcGIS——地理配准操作
  14. openflow交换机 ryu_ryu—交换机
  15. iphone游戏开发(转)
  16. Windowed functions can only appear in the SELECT or ORDER BY clauses
  17. LoadBalancer 负载均衡
  18. Kaggle一周30小时Tesla P100教程~
  19. 边云协同智能技术在电力领域的应用
  20. 北京市工作居住证只有电子版没有纸质版

热门文章

  1. 【渝粤教育】广东开放大学 经济学基础 形成性考核 (25)
  2. 【Python实例第11讲】文本的核外分类
  3. pku1833 排列(use next_permutation)
  4. 【Python实践-6】将不规范的英文名字,变为首字母大写,其他小写的规范名字...
  5. 传输模型, tcp socket套接字
  6. SpringMVC中ModelAndView对象与“视图解析器”
  7. 345. Reverse Vowels of a String【easy】
  8. 洛谷P5300 与或和(全1子矩阵/单调栈)
  9. 学习shell script
  10. Django框架基础之session