網站首頁 編程語言 正文
__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
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-03-27 ASP.NET?HttpRequest類介紹_基礎應用
- 2021-11-16 使用Flutter定位包獲取地理位置_Android
- 2022-05-21 C語言實現(xiàn)銀行管理系統(tǒng)(文件操作)_C 語言
- 2021-12-29 Android中String與int相互轉換_Android
- 2022-07-19 關于 Angular 注解 @Injectable() 使用的一些誤區(qū)
- 2022-10-09 玩轉Go命令行工具Cobra_Golang
- 2022-02-13 Flutter在showModalBottomSheet中使用StatefulWidget
- 2022-08-11 boost字符串處理函數(shù)format的用法_C 語言
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支