我正在学习Python,并试图弄清楚为什么语言将数字和数组视为全局变量和局部变量的不同。
这是一个例子:当我编写一个函数来递增数字变量时,更新的值不会保留在该函数范围之外。但是,当我编写一个函数来增加数组中的数值时,更新的值将保留在该函数范围之外。
见下文:
def addOne(num):
num += 1
def addOneToFirstElement(arr):
arr[0] += 1
var = 5
print var # Outputs '5'
addOne(var)
print var, "\n" # Outputs '5'
array = [4, 5, 6]
print array # Outputs [4, 5, 6]
addOneToFirstElement(array)
print array # Outputs [5, 5, 6]
为什么语言对这两种变量的处理方式不同?