温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python __add__()如何使用

发布时间:2023-02-27 15:52:03 来源:亿速云 阅读:85 作者:iii 栏目:开发技术

这篇文章主要介绍“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

python __add__()如何使用

 self 只本身对象,other 指另一个对象(同属于Myclass 类)

python中 “__add__”和“__iadd__” 的区别

__add__”和“__iadd__” 的区别, 两个同为拼接操作

addiadd
listlist
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

以上两种都执行后,发现结果基本都是一致,看不出来什么花样,于是我们在调试模式下进行区分,一目了然 。如下展示:

python __add__()如何使用

上图是执行到__add__后直接return返回出来的。下图是执行__iadd__后,先拼接一下再把值返出来,注意它不是return出来的 。

python __add__()如何使用

关于“python __add__()如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI