以列表为例
如果改变列表某一元素的内容,则可以改变实参
如果改变列表整体,即改变指向,则不改变实参
如果有C语言指针的基础应该很好理解
在此不再赘述
import numpy as np
x = [[1, 2, 3], [4, 5, 6]]
x_np = np.array([[1, 2, 3], [4, 5, 6]])
def change_list(x):
x[0][0] = 100
def change_list2(x):
x = np.array([100, 101])
change_list(x)
change_list(x_np)
print(x)
print(x_np)
x = [[1, 2, 3], [4, 5, 6]]
x_np = np.array([[1, 2, 3], [4, 5, 6]])
change_list2(x)
change_list2(x_np)
print(x)
print(x_np)
# [[100, 2, 3], [4, 5, 6]]
# [[100 2 3]
# [ 4 5 6]]
# [[1, 2, 3], [4, 5, 6]]
# [[1 2 3]
# [4 5 6]]