各位前輩好
小弟有一個新手級問題
先上程式碼
def xxx(d):
d[0]=123
return d
a=[1,2]
b=xxx(a)
在程式碼中,我設定變數a為[1,2]
但將a丟到def中,得到b的同時,a也會隨之改變
想請問造成這個現象的原因
是否為 a是一個全域變數,而在函式中的d是a的shallow copy所致?
若不是的話,還盼望版友們能指導小弟造成此現象的原因為何
先謝謝版友撥空閱讀我的疑問
作者: bugbug777 (sil) 2020-07-16 10:55:00
shalow/deep copy, reference