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中却只能使用一个 。
1、__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
2、__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__()的具体使用的文章就介绍到这了,更多相关python __add__()使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python解决No module named pip问题两种方法
当出现No module named pip错误时,表明您的Python环境缺少pip模块,下面这篇文章主要给大家介绍了关于python解决No module named pip问题的两种方法,需要的朋友可以参考下2024-01-01
python错误SyntaxError: invalid syntax的解决方法总结
SyntaxError: invalid syntax 是Python中常见的错误类型之一,它表示代码中存在语法错误,下面这篇文章主要给大家介绍了关于python错误SyntaxError: invalid syntax的解决方法,需要的朋友可以参考下2024-08-08
Python入门教程5. 字典基本操作【定义、运算、常用函数】
这篇文章主要介绍了Python字典基本操作,包括字典的基本定义、运算与常用函数相关使用技巧,代码注释中备有详尽说明,便于理解,需要的朋友可以参考下2018-11-11


最新评论