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