博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
19面向对象--特殊成员
阅读量:5121 次
发布时间:2019-06-13

本文共 1443 字,大约阅读时间需要 4 分钟。

在python中,除了一些方法,属性之外,还有一些特殊成员

1 class Foo(object): 2  3     def __new__(cls, *args, **kwargs): 4         """ 5         创建一个空对象 6         :param args: 7         :param kwargs: 8         :return: 9         """10         print(2)11         return object.__new__(cls)12 13     def __init__(self, a1, a2):14         # 为一个空对象进行数据的初始化15         self.a1 = a116         self.a2 = a217 18     def __call__(self, *args, **kwargs):19         print(1111)20 21     def __getitem__(self, item):22         print(item)23         return 824 25     def __setitem__(self, key, value):26         print(key, value, 1111111)27 28     def __delitem__(self, key):29         print(key)30 31     def __add__(self, other):32         return self.a1 + other.a133 34     def __enter__(self):35         print('进入文件')36         return 99937 38     def __exit__(self, exc_type, exc_val, exc_tb):39         print(222)40 41 42 # 1.类名() 自动执行__init__43 obj = Foo(1, 2)44 # 2.对象() 自动执行__call__45 obj()46 # 3.对象[] 自动执行 __getitem__47 ret = obj['语文']48 print(ret)49 # 4.对象['xxx']=123 自动执行 __setitem__  # 无返回值50 obj['k1'] = 12351 # 5.del 对象['xxxx'] 自动执行 __delitem__52 del obj['uuu']53 # 6.对象+对象   自动执行 __add__54 obj1 = Foo(1, 2)55 obj2 = Foo(3, 4)56 ret = obj1 + obj257 print(ret)58 # 7.with 对象59 obj3 = Foo(1, 2)60 with obj as f:61     print(f)   # f就是enter的返回62     print('内部代码')63 # 8.真正的构造方法  __new__  在实例化一个对象时,首先执行的是new,其次才是init

 

转载于:https://www.cnblogs.com/cbslock/p/11220034.html

你可能感兴趣的文章
STM32F10x_RTC秒中断
查看>>
display:none和visiblity:hidden区别
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
SpringMVC学习总结(三)——Controller接口详解(1)
查看>>
牛的障碍Cow Steeplechase
查看>>
Zookeeper选举算法原理
查看>>
3月29日AM
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
HTML元素定义 ID,Class,Style的优先级
查看>>
构造者模式
查看>>
http和https的区别
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
今天新开通了博客
查看>>
AS3优化性能笔记二
查看>>
Java高阶回调,回调函数的另一种玩法
查看>>
ElasticSearch(站内搜索)
查看>>
4----COM:a Generative Model for group recommendation(组推荐的一种生成模型)
查看>>
UVA 11137 - Ingenuous Cubrency
查看>>
js阻止事件冒泡的两种方法
查看>>