函数的参数和其值的变化
两段代码
我们先来看看下面这两段代码,分别推测一下它们输出应该是什么?
建议大家先不要看后面给出的结果,也不要急着把代码放到运行环境里去试,而是自己先推演一下。
def testScalarParam(a):
a = a * 2
return a
x = 3
y = testScalarParam(x)
print("x is", x)
print("y is", y)
代码-1
def testListParam(arr):
for i in range(0, len(arr)):
arr[i] = arr[i] * 2
return arr
xArr = [1,2,3,4,5]
yArr = testListParam(xArr)
print("xArr is", xArr)
print("yArr is", yArr)
代码-2
好好想想,输出到底是什么?
代码输出
答案揭晓——输出其实是下面这样的:
代码-1输出:
x is 3 y is 6
代码-2输出:
xArr is [2, 4, 6, 8, 10] yA