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 作为形参, 发生的都是 引用传递。

相关推荐
2401_87473253几秒前
构建一个桌面版的天气预报应用
jvm·数据库·python
qq_4176950517 分钟前
实战:用Python开发一个简单的区块链
jvm·数据库·python
我的xiaodoujiao29 分钟前
3、API 接口自动化测试详细图文教程学习系列3--相关Python基础知识2
python·学习·测试工具·pytest
南 阳32 分钟前
Python从入门到精通day56
开发语言·python
阿kun要赚马内1 小时前
Python中函数的进阶用法
开发语言·python
Spliceㅤ1 小时前
项目:基于qwen的点餐系统
开发语言·人工智能·python·机器学习·自然语言处理
asdzx671 小时前
使用 Python 快速为 PDF 添加背景色或背景图片
python·pdf
badhope1 小时前
Docker入门到实战全攻略
linux·python·docker·github·matplotlib
华研前沿标杆游学1 小时前
2026深圳企业参访-走进深圳华星光电TCL学习智能制造
python
dapeng28701 小时前
Python异步编程入门:Asyncio库的使用
jvm·数据库·python