如果我将数据帧传递给函数并在函数内修改它,它是按值传递还是按引用传递?
我运行以下代码
a = pd.DataFrame({'a':[1,2], 'b':[3,4]})
def letgo(df):
df = df.drop('b',axis=1)
letgo(a)
Run Code Online (Sandbox Code Playgroud)
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]])
Run Code Online (Sandbox Code Playgroud)
事实证明letgo2()确实发生了变化xx而letgo3()没有变化.为什么会这样?