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