为什么函数可以修改调用者感觉到的某些参数,而不能修改其他参数呢?
我正在尝试理解Python的可变作用域方法。在这个例子中,为什么是f()能够改变…的价值x,如内心所感知的main()的价值n?
def f(n, x):
n = 2
x.append(4)
print('In f():', n, x)
def main():
n = 1
x = [0,1,2,3]
print('Before:', n, x)
f(n, x)
print('After: ', n, x)
main()
产出:
Before: 1 [0, 1, 2, 3]
In f(): 2 [0, 1, 2, 3, 4]
After: 1 [0, 1, 2, 3, 4]
慕码人2483693
拉丁的传说
相关分类