日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python?__add__()的具體使用_python

作者:番茄牛腩不吃番茄 ? 更新時間: 2023-06-21 編程語言

__add__(),? 同一個類,兩個對象相加的實現(xiàn)邏輯,重寫 +

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__” 的區(qū)別

__add__”和“__iadd__” 的區(qū)別, 兩個同為拼接操作

add iadd
list list
tuple

list中是兩個都可以使用;而tuple中卻只能使用一個 。

1、__add__屬性

b = [7, 8, 9, 10, 11, 12]
d = [19, 20, 21, 22, 23, 24]

# 執(zhí)行了拼接動作,拼接后的值被return出來
g = b.__add__(d)
print(g)

執(zhí)行結果如下:

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]

# 執(zhí)行拼接動作,屬于就地拼接
h = b.__iadd__(d)
print(h)

執(zhí)行結果如下:

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

以上兩種都執(zhí)行后,發(fā)現(xiàn)結果基本都是一致,看不出來什么花樣,于是我們在調試模式下進行區(qū)分,一目了然 。如下展示:

上圖是執(zhí)行到__add__后直接return返回出來的。下圖是執(zhí)行__iadd__后,先拼接一下再把值返出來,注意它不是return出來的 。

原文鏈接:https://blog.csdn.net/LIFENG0402/article/details/107603787

  • 上一篇:沒有了
  • 下一篇:沒有了
欄目分類
最近更新