运算符重载

常见的运算符重载方法

__init__  构造函数  对象建立:X = Class(args)

__del__  析构函数  X对象收回

__add__  +  X+Y

__or__  |  X | Y

__str__  打印转换  print(X)

__call__  函数调用  X(*args, **kargs)

__getattr__  点号运算  X.undefined

__setattr__  属性赋值语句  X.any = value

__delattr__  属性删除  del X.any

__getattribute__  属性获取  X.any

__getitem__  索引运算  X[key], X[i:j]

__setitem__  索引赋值  X[key] = value, X[i:j] = sequence

__delitem__  索引和分片删除  del X[key], delX[i:j]

__len__  长度  len(X)

__bool__  布尔测试  bool(X)

__lt__, __gt__,__le__, __ge__, __eq__, __ne__   特定的比较  X<Y, X>Y, X<=Y, X>=Y, X==Y, X!=Y

__radd__  右侧加法  other+X

__iadd__  原地加法  X += Y

__iter__, __next__  迭代环境  I=iter(X), next(I)

__contains__  成员关系测试  item in X

__index__  整数值

__enter__, __exit__  环境管理器

__get__, __set__  描述符属性

__new__  创建  在__init__之前创建对象

posted @ 2017-07-20 22:22  川贝枇杷  阅读(131)  评论(0编辑  收藏  举报