python 按對象傳值

今天研究了下Python中的傳值問題,通常在C、C++中有按值傳遞和按引用傳遞兩種情況,按值傳遞時會拷貝實參,而按引用傳遞時只是給形參賦了一個指向實參的指針,但在python卻沒有區分這兩種情況。
通過百度並實際測試,確實發現python沒有按值或者按引用來進行區別,對不同的參數對象還是按Python基本類型的處理方式進行處理:
1. 所有傳遞都是引用傳遞,形參與實參ID一樣
2. 對於string int float bool等不可變類型,操作時會變爲新的對象
3. 對於[] {}等可變類型,操作時還是引用的全局對像

測試如下:

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章