||
编程中对于函数, 都有实参和形参的概念, 在Python里面则比较独特, 记三例如下:
一.
a = 1
def f(a):
a*=2
return a
f(a)
print(a)
显然不改变a值,还是1
二.
a = np.array([1,2,3])
def f(a):
a*=2
return a
f(a)
print(a)
这时返回[2,4,6], 在Python中变量名相当于标签, 或者指针, 所以会变.
三.
a = np.array([1,2,3])
def f(a):
b = a[2]
b*=2
return a
f(a)
print(a)
结果是[1,2,3], 单个元素赋值不会影响a
四.
a = np.array([[1,2,3],[1,2,3]])
def f(a):
b = a[1]
b *= 2
return a
f(a)
print(a)
结果是[[1,2,3],[2,4,6]], 子数组赋值会影响a, 还是标签(指针)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-20 08:03
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社