如果我将一个数据框传递给一个函数并在函数内部修改它,它是按值传递还是按引用传递?
我运行以下代码
a = pd.DataFrame({'a':[1,2], 'b':[3,4]})
def letgo(df):
df = df.drop('b',axis=1)
letgo(a)
函数调用后,a
的值不会改变。这是否意味着它是按值传递的?
我还尝试了以下方法
xx = np.array([[1,2], [3,4]])
def letgo2(x):
x[1,1] = 100
def letgo3(x):
x = np.array([[3,3],[3,3]])
原来 letgo2()
确实改变了 xx
,而 letgo3()
没有。为什么会这样呢?