偶然看到别人的代码,发现有的会传入参数之后,做一次copy,试验一下,关于入参中,传入的是指针还是引用
先说自己的结论:
1.如果传入的是简单的类型,那么传入应该是引用的数值,
2.假如传入的是df这种类型,那么传入的是指针,
3.你在函数所做的修改仍然会改变原有的df,大家函数内修改复杂类型的变量最好还是copy一下!
1 import pandas as pd 2 def qqq(a,b): 3 a.loc[1,1] = 9999 4 b = 88888 5 del a 6 del b 7 8 if __name__ == '__main__': 9 aaa = pd.DataFrame([[1,2,3],[4,5,6]]) 10 bbb = 123000 11 qqq(aaa, bbb) 12 print('aaa:\n',aaa,'\n') 13 print('bbb:',bbb)
输出:
1 aaa: 2 0 1 2 3 0 1 2 3 4 1 4 9999 6 5 6 bbb: 123000