python中的运算符重载与模块

本文介绍了Python中如何通过运算符重载实现自定义数据类型的算术运算,如加法、减法等,并详细阐述了__add__、__iadd__、__radd__等方法的用法。此外,还讲解了Python模块的使用,包括包的定义、__init__.py文件的作用以及如何导入和使用模块。
摘要由CSDN通过智能技术生成

在自定数据格式,需要进行算术、逻辑运算时,可以使用运算符重载,即可像原有的数据一样使用数学符号表达式。python中的运算符重载是通过重载特殊的系统方法来实现的,文档中称为special methods,函数本身一般一双下划线开头和结尾。

加法示例

自定义一个类似复数的数据格式,在没有重载__add__的情况下

#!/usr/bin/python
class MyDemoClass:
    def __init__(self,inputI,inputQ):
        self.Ivalue = inputI
        self.Qvalue = inputQ
        pass
    def __del__(self):
        pass

if __name__ == '__main__':
    a = MyDemoClass(10,20)
    b = MyDemoClass(20,30)
    c = a + b
    print(c.Ivalue)
    print(c.Qvalue)
    pass

运行脚本得到的结果

Traceback (most recent call last):
File "test.py", line 21, in <module>
c = a + b
TypeError: unsupported operand type(s) for +: 'MyDemoClass' and 'MyDemoClass'

重载__add__函数之后

#!/usr/bin/python
class MyDe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值