浅谈Python运算符重载

浅谈Python运算符重载_第1张图片
Python运算符重载

本例子对Python的加法运算符进行重载,让其可以应用在自定义的类实例上。

首先是新建一个自定义类:


自定义类

对打印函数print进行重载:

即在自定义类中,重定义函数__str__


重载print函数

注意其返回值要是一个字符串,所以使用了内建函数str将整数装换成字符串,不加这个str函数Python会报错的。

对加法运算符进行重载

不过要注意有两个函数需要重载。因为加法是一个二元运算符,所以自定义类的实例可能是在加号的左边(重载__add__),也可能出现在加法的右边(重载__radd__)。


浅谈Python运算符重载_第2张图片
对加法运算符重载

注意点:重载后的加法运算符,返回的还是你自定义类的一个实例!

加上测试代码:


浅谈Python运算符重载_第3张图片
完整代码

运行结果如图:


浅谈Python运算符重载_第4张图片

你可能感兴趣的:(浅谈Python运算符重载)