python mutable / immutable函数

时间:2016-12-26 20:31:57

标签: python python-3.x

我很难理解为什么在调用text函数时,num1受到影响而num2未被更改?

def text(null1, null2) :
    null1 += [7]
    null2 = [8]

num1 = [2,3]
num2 = [4,5]
text(num1,num2)
print(num1)
print(num2)

1 个答案:

答案 0 :(得分:1)

null1 += [7]

修改列表null1。我的情况是它修改你提交的列表num1作为参数。

但是:

null2 = [8]

创建一个新列表。在函数内部,它创建一个新的局部变量。因此,它不会改变num2