两个函数
def test1(alist):
# 对参数列表进行修改
alist[0] = 233
alist.append(33)
def test2(alist):
# 对参数列表进行赋值
alist = [9,5,1,10]
调用结果
alist = [1,2,3]
test1(alist)
print(alist)
# 输出
[233, 2, 3, 33]
alist = [1,2,3]
test2(alist)
print(alist)
# 输出
[1, 2, 3]
猜测
list在作为参数传进函数时,传的是引用,函数内修改时,直接修改了内存中的数据
但是,Python中变量是可以被重新赋值为任何值的,当进行了
alist = something
这样的操作时,alist指向的地址发生了变化,成了局部变量,此时再对alist做任何操作都不会影响到外部变量了