Python中操作符重载用法分析

690次阅读  |  发布于5年以前

本文实例讲述了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相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8