您好,欢迎访问一九零五行业门户网

详解Python中操作符重载用法分析

本文实例讲述了python中操作符重载用法。分享给大家供大家参考,具体如下:
类可以重载python的操作符
操作符重载使我们的对象与内置的一样。__x__的名字的方法是特殊的挂钩(hook),python通过这种特殊的命名来拦截操作符,以实现重载。 python在计算操作符时会自动调用这样的方法,例如:
如果对象继承了__add__方法,当它出现在+表达式中时会调用这个方法。通过重载,用户定义的对象就像内置的一样。
在类中重载操作符
1、操作符重载使得类能拦截标准的python操作。
2、类可以重载所有的python的表达式操作符。
3、类可以重载对象操作:print,函数调用,限定等。
4、重载使得类的实例看起来更像内置的。
5、重载是通过特殊命名的类方法来实现的。
方法名        重载的操作说明        调用表达式
__init__    构造函数        创建对象:class()
__del__        析构函数        释放对象的时候
__add__        “+”            x + y
__or__        “|”            x | y
__repr__    打印,转换        print x, `x`
__call__    函数调用        x()
__getattr__    属性引用        x.undefined
__getitem__    索引            x[key],for循环,in测试
__setitem__    索引赋值        x[key] = value
__getslice__    分片            x[low:high]
__len__        长度            len(x)
__cmp__        比较            x == y ,x < y
__radd__    右边的操作符+        非实例 + x
例子:
__getitem__拦截了所有的索引操作
>>> class indexer: def __getitem__(self,index): return index ** 2 >>> x = indexer() >>> for i in range(5): print x[i] #x[i]将调用__getitem__(x,i) 0 1 4 9 16
更多详解python中操作符重载用法分析。
其它类似信息

推荐信息