語法:Python中的可覆蓋物件與不可覆蓋物件
python中的物件按照覆蓋方式可以分為兩類:可覆蓋物件和不可覆蓋物件:
- 可覆蓋物件:list,dictionary
- 不可覆蓋物件:int,string,float,tuple
可覆蓋物件一旦建立後還可以改變,響應的指向同一個物件引用的變數的內容隨之改變;不可覆蓋物件一旦建立後就不可以改變,這兒作了詳細的解釋。
程式碼例項
對於可覆蓋物件
@breakingcoder
def deleteFruit(mylist):
if mylist is not None:
mylist.remove(mylist[0])
fruits = ['apple','peal','banana','orange']
deleteFruit(fruits)
print(fruits)
上述程式碼的執行結果為:
['peal', 'banana', 'orange']
由於列表是可覆蓋物件,函式中對列表的改動會直接影響到列表物件的變動。
對於不可覆蓋物件
@breakingcoder
def addNum(mynumber):
mynumber += 2
number = 8
addNum(number)
print(number)
上述程式碼的執行結果為:
8
由於整型是不可覆蓋物件,函式中對物件引用變數的改動世界上不會對原有物件進行改動,而是指向了新建立的物件,隨著函式的結束,區域性變數也就失去了意義。number依舊指向物件8的地址。
相關文章
- javascript原型物件的屬性不能夠覆蓋物件自有屬性JavaScript原型物件
- 程式碼覆蓋率與測試覆蓋率比較
- 軟體測試培訓之:白盒測試的語句覆蓋法和判定覆蓋法
- Mysql索引覆蓋MySql索引
- 最小圓覆蓋
- Java方法覆蓋和變數覆蓋的區別詳解Java變數
- MySQL 的覆蓋索引與回表MySql索引
- 最小路徑可重複點覆蓋
- 企業WiFi覆蓋,解決覆蓋四大難題WiFi
- 第9條:覆蓋equals時總要覆蓋hashCode方法
- EMMA 覆蓋率工具
- Eclipse中的高效程式碼覆蓋Eclipse
- C++中的覆蓋和隱藏C++
- Linux中cp覆蓋不提示Linux
- iOS 覆蓋率檢測原理與增量程式碼測試覆蓋率工具實現iOS
- canvas 填充覆蓋描邊Canvas
- pHp程式碼覆蓋率PHP
- php實現矩形覆蓋PHP
- 程式碼覆蓋率分析
- 線段覆蓋問題
- 超市無線覆蓋的需求分析
- C++語言的單元測試與程式碼覆蓋率C++
- 四、建立覆蓋網路--Flannel
- ESLint: 規則配置覆蓋EsLint
- 76. 最小覆蓋子串
- python的不可變物件與可變物件及其妙用與坑Python物件
- 最大匹配、最小頂點覆蓋、最大獨立集、最小路徑覆蓋(轉)(再轉)
- MySQL優化之覆蓋索引的使用MySql優化索引
- mysql覆蓋索引高效能的探究MySql索引
- 如何覆蓋元件的自帶樣式元件
- 多程式下的測試覆蓋率
- idea2022.1 檢視單測覆蓋率展示分支覆蓋率Idea
- 【離散優化】覆蓋問題優化
- 室外無線覆蓋解決方案
- Angular CDK Overlay 彈出覆蓋物Angular
- document.write() 清空覆蓋內容
- go 程式碼覆蓋率測試Go
- MySQL 聚簇索引 和覆蓋索引MySql索引