python中的 __getattr__ __setattr__ __getitem__ __add__
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__相关推荐
- python 中的__getattr__和__setattr__
__getattr__为内置方法,当使用点号获取实例属性时,如果属性不存在就自动调用__getattr__方法 __setattr__当设置类实例属性时自动调用,如j.name=5 就会调用__set ...
- python中的特殊方法 __getitem__()
特殊方法----getitem() Python的特殊方法__getitem_() 主要作用是可以让对象实现迭代功能.我们通过一个实例来说明. 定义一个Sentence类,通过索引提取单词. impo ...
- python中的__dict__,__getattr__,__setattr__
python class 通过内置成员__dict__ 存储成员信息(字典) 首先用一个简单的例子看一下__dict__ 的用法 class A():def __init__(self,ax,bx): ...
- Python中的getattr()和__getattr__方法
在看python核心编程时,看到了getattr()内建函数和__getattr__,但不太理解,就仔细的看了下并查阅了一些资料,大致了解了它们是做什么的. getattr() 先在python解释器 ...
- python中getitem_解析Python中的__getitem__专有方法
__getitem__来看个简单的例子就明白: def __getitem__(self, key): return self.data[key] >>> f = fileinfo. ...
- python中append函数合并列表且列表内数字从高到低_35个高级Python知识点总结
No.1 一切皆对象 众所周知,Java中强调"一切皆对象",但是Python中的面向对象比Java更加彻底,因为Python中的类(class)也是对象,函数(function) ...
- python中标识符下划线用作开头_python python中那些双下划线开头的那些函数都是干啥用用的...
1.写在前面 今天遇到了__slots__,,所以我就想了解下python中那些双下划线开头的那些函数都是干啥用用的,翻到了下面这篇博客,看着很全面,我只了解其中的一部分,还不敢乱下定义. 其实如果足 ...
- python深度讲解_《深度剖析CPython解释器》21. Python类机制的深度解析(第五部分): 全方位介绍Python中的魔法方法,一网打尽...
楔子 下面我们来看一下Python中的魔法方法,我们知道Python将操作符都抽象成了一个魔法方法(magic method),实例对象进行操作时,实际上会调用魔法方法.也正因为如此,numpy才得以 ...
- python中的函数及面向对象的知识点
函数 函数的定义 def functionname(parameters):```函数文档字符串```functionsuitereturn [expression] 函数以def关键字开头,后接函数 ...
- Python中的魔术方法详解
介绍 在Python中,所有以"__"双下划线包起来的方法,都统称为"Magic Method",中文称『魔术方法』,例如类的初始化方法 __init__ ,P ...
最新文章
- sql server日志占用空间过大的问题
- 人人都是 DBA(V)SQL Server 数据库文件
- [转帖]Report painter
- 逐一应对 检修三类型视频会议常见问题
- UDT源码剖析(五):UDT::cleanup()过程代码注释
- DNS服务启动时卡在:Generating /etc/rndc.key:
- antdPro Nginx 打包部署
- 博客开园了~~~~~~
- 自定义注解和注解的相关使用
- 桌面快捷方式自动消失
- 微信公众号迁移公证、迁移申请函办理方法
- Kettle入门案例
- ArcGIS——地理配准操作
- openflow交换机 ryu_ryu—交换机
- iphone游戏开发(转)
- Windowed functions can only appear in the SELECT or ORDER BY clauses
- LoadBalancer 负载均衡
- Kaggle一周30小时Tesla P100教程~
- 边云协同智能技术在电力领域的应用
- 北京市工作居住证只有电子版没有纸质版
热门文章
- 【渝粤教育】广东开放大学 经济学基础 形成性考核 (25)
- 【Python实例第11讲】文本的核外分类
- pku1833 排列(use next_permutation)
- 【Python实践-6】将不规范的英文名字,变为首字母大写,其他小写的规范名字...
- 传输模型, tcp socket套接字
- SpringMVC中ModelAndView对象与“视图解析器”
- 345. Reverse Vowels of a String【easy】
- 洛谷P5300 与或和(全1子矩阵/单调栈)
- 学习shell script
- Django框架基础之session