[问题] def函式之输入变量会随函式内容改变

楼主: jasonhsu14 (小健人)   2020-07-16 09:55:26
各位前辈好
小弟有一个新手级问题
先上程式码
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所致?
若不是的话,还盼望版友们能指导小弟造成此现象的原因为何
先谢谢版友拨空阅读我的疑问

Links booklink

Contact Us: admin [ a t ] ucptt.com