python __add__()的具體使用
__add__(), 同一個(gè)類,兩個(gè)對(duì)象相加的實(shí)現(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)
打印結(jié)果:
3
self 只本身對(duì)象,other 指另一個(gè)對(duì)象(同屬于Myclass 類)
python中 “__add__”和“__iadd__” 的區(qū)別
__add__”和“__iadd__” 的區(qū)別, 兩個(gè)同為拼接操作
add | iadd |
---|---|
list | list |
tuple | – |
list中是兩個(gè)都可以使用;而tuple中卻只能使用一個(gè) 。
1、__add__屬性
b = [7, 8, 9, 10, 11, 12] d = [19, 20, 21, 22, 23, 24] # 執(zhí)行了拼接動(dòng)作,拼接后的值被return出來(lái) g = b.__add__(d) print(g)
執(zhí)行結(jié)果如下:
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í)行拼接動(dòng)作,屬于就地拼接 h = b.__iadd__(d) print(h)
執(zhí)行結(jié)果如下:
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)結(jié)果基本都是一致,看不出來(lái)什么花樣,于是我們?cè)谡{(diào)試模式下進(jìn)行區(qū)分,一目了然 。如下展示:
上圖是執(zhí)行到__add__后直接return返回出來(lái)的。下圖是執(zhí)行__iadd__后,先拼接一下再把值返出來(lái),注意它不是return出來(lái)的 。
到此這篇關(guān)于python __add__()的具體使用的文章就介紹到這了,更多相關(guān)python __add__()使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)對(duì)doc,txt,xls文檔的讀寫操作
這篇文章主要介紹了python實(shí)現(xiàn)對(duì)doc,txt,xls文檔的讀寫操作,正如標(biāo)題所見(jiàn),文章包括三個(gè)部分python實(shí)現(xiàn)對(duì)doc文檔的讀取、python實(shí)現(xiàn)對(duì)txt文檔的讀取和python實(shí)現(xiàn)對(duì)xls表格的讀取,需要的朋友可以參考一下2022-04-04Python2.x和3.x下maketrans與translate函數(shù)使用上的不同
這篇文章主要介紹了Python2.x和3.x下maketrans與translate函數(shù)使用上的不同,這兩個(gè)函數(shù)建立映射來(lái)替換內(nèi)容是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-04-04python字符串分割常用方法(str.split()和正則)
在Python中字符串是一種非常常見(jiàn)的數(shù)據(jù)類型,在實(shí)際應(yīng)用中我們經(jīng)常需要對(duì)字符串進(jìn)行分割,以便對(duì)其中的內(nèi)容進(jìn)行處理,這篇文章主要給大家介紹了關(guān)于python字符串分割(str.split()和正則)的相關(guān)資料,需要的朋友可以參考下2023-11-11python使用urllib模塊開(kāi)發(fā)的多線程豆瓣小站mp3下載器
對(duì)豆瓣音樂(lè)小站頁(yè)面html分析出所有mp3(正則匹配)文件url,然后用urllib.urlretrieve中方法直接將文件下載到本地,通過(guò)多線程技術(shù)下載2014-01-01pyenv虛擬環(huán)境管理python多版本和軟件庫(kù)的方法
這篇文章主要介紹了pyenv虛擬環(huán)境管理python多版本和軟件庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12