Python 中的值传递 和 引用传递

在 Python 当中的函数调用当中, numpy 和 torch.tensor 都 是按照 引用传递 传到函数里面的,也就是说 修改 传入函数的 形参,也会导致 未传入之前的形参 发生 变化。

position 是一个 tensor; 下面这段代码第一行,如果在函数里面修改 position 会导致 下面的 position 也会发生变化

python 复制代码
  ## 两段代码都用到 position 这个变量
  gt_semantics = self.Occ3d.get_occ3d_gt(position_w=position)
  gt_semantics = self.Occ3d.get_occ3d_gt(position_w=position.clone())
  pred_semantics = self.Occ3d.get_pos_pred_semantics(position=position)

在第二行加上 clone 函数 之后,才可以保证执行完 第二行之后 的 position 的数值不会发生变换。

结论: 当函数的参数是 : numpy 数组, Tensor, 列表 List 作为形参, 发生的都是 引用传递。

相关推荐
华研前沿标杆游学4 分钟前
参观深圳比亚迪总部,探索科技,感受中国“智”造魅力
python
爱打代码的小林13 分钟前
python基础(逻辑回归例题)
开发语言·python·逻辑回归
qq_2147826120 分钟前
pandas“将”迎来v3.0.0大版本更新!
python·pandas
dagouaofei21 分钟前
长文档也能转成PPT:AI自动拆分章节并生成页面
人工智能·python·powerpoint
Keep_Trying_Go38 分钟前
统一的人群计数训练框架(PyTorch)——基于主流的密度图模型训练框架
人工智能·pytorch·python·深度学习·算法·机器学习·人群计数
赵谨言40 分钟前
基于OpenCV的图像梯度与边缘检测研究
大数据·开发语言·经验分享·python
啊阿狸不会拉杆1 小时前
《数字图像处理 》 第 1 章-绪论
图像处理·python·opencv·算法·数字图像处理
小白勇闯网安圈1 小时前
upload、very_easy_sql、i-got-id-200
python·网络安全·web
石国旺1 小时前
python打包PyInstaller程序,怎么越来越大,如何解决?
开发语言·python
python-码博士1 小时前
关于sklearn中StandardScaler的使用方式
人工智能·python·sklearn