python __add__()如何使用
这篇文章主要介绍“python __add__()如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python __add__()如何使用”文章能帮助大家解决问题。
__add__(), 同一个类,两个对象相加的实现逻辑,重写 +
class Myclass(object): def __init__(self,value): self.value = value def __add__(self, other): return self.value + other.value if __name__ == '__main__': o1 = Myclass(1) o2 = Myclass(2) print(o1+o2)
打印结果:
3
self 只本身对象,other 指另一个对象(同属于Myclass 类)
python中 “__add__”和“__iadd__” 的区别
__add__”和“__iadd__” 的区别, 两个同为拼接操作
add | iadd |
---|---|
list | list |
tuple | – |
list中是两个都可以使用;而tuple中却只能使用一个 。
__add__属性
b = [7, 8, 9, 10, 11, 12]d = [19, 20, 21, 22, 23, 24]# 执行了拼接动作,拼接后的值被return出来g = b.__add__(d)print(g)
执行结果如下:
D:\python_env\Scripts\python.exe F:/TESTING/BlogPosts/ReadAndWrite/list_and_tuple.py
[7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24]Process finished with exit code 0
__iadd__属性
b = [7, 8, 9, 10, 11, 12]d = [19, 20, 21, 22, 23, 24]# 执行拼接动作,属于就地拼接h = b.__iadd__(d)print(h)
执行结果如下:
D:\python_env\Scripts\python.exe F:/TESTING/BlogPosts/ReadAndWrite/list_and_tuple.py
[7, 8, 9, 10, 11, 12, 19, 20, 21, 22, 23, 24]Process finished with exit code 0
以上两种都执行后,发现结果基本都是一致,看不出来什么花样,于是我们在调试模式下进行区分,一目了然 。如下展示:
上图是执行到__add__后直接return返回出来的。下图是执行__iadd__后,先拼接一下再把值返出来,注意它不是return出来的 。
关于“python __add__()如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341