Python的运算符重载

MethodOverloadsCall for
__init__构造函数X=Class()
__del__析构函数对象销毁
__add__+X+Y,X+=Y
__sub__-X-Y
__or__|X|Y,X|=Y
__repr__,__str__打印转换print X, repr(X)   
__call__调用函数X()
__getattr__点号运算X.undefine
__setattr__属性赋值语句X.any=value
__getitem__索引X[key], for if
__setitem__索引赋值语句X[key]=value, x[i:j]=v=sequence
__len__长度len(x)
__cmp__比较X==Y,X<Y
__lt小于X<Y
__eq__等于X=Y
_radd__+x+Y
__iadd__+=X+=Y
__iter__迭代For In
__contains__成员关系测试item in x
__delitem__索引和分片删除del x[key], del x[i:j]


索引和分片:__getitem__和setitem__


如果在类中定义了的话,则对于实例的索引运算,会自动调用__getitem__。当实例x出现在x[i]这样的索引运算中时,python会调用这个实例继承的__getitem__方法。把x作为第一个参数传递,并且方括号内的索引值传给第二个参数。
>>>class Indexer:
...         def __getitem__(self, index): 
                return index**2
>>>x = Indexer()
>>>x[2]
4

>>>for i in range(5)
...         print(x[i], end=' ')
...
0,1,4,9,16



 




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值