python运算符重载
作者:互联网
一、基础知识
二、索引和分片:__getitem__ 和 __setitem__
三、索引迭代:__getitem__
四、可迭代对象:__iter__ 和 __next__
五、成员关系:__constains__ 、__iter__ 和 __getitem__
六、属性访问:__getattr__ 和 __setattr__
七、字符串显示:__repr__ 和 __str__
八、右侧加法和原位置加法:__radd__和__iadd__
九、调用表达式:__call__
这个方法的功能类似于在类中重载了()
运算符,使得使用类实例对象可以像调用普通函数那样,以对象名()
的形式来进行使用:
class callee:
def __call__(self,*pargs,**kargs):
print('called:',pargs,kargs)
c=callee()
print(c(1,2,3))
# called: (1, 2, 3) {}
print(c(1,2,3,x=4,y=5))
# called: (1, 2, 3) {'x': 4, 'y': 5}
下面是__call__
方法定义的例子:
十、比较运算:__lt__ 、 __gt__和其他方法
十一、布尔测试:__bool__和__len__
十二、对象析构函数:__del__
标签:__,python,运算符,重载,call,getitem,print,called 来源: https://blog.csdn.net/kking_edc/article/details/120682649