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

相关推荐
我的xiaodoujiao1 分钟前
API接口自动化测试详细图文教程学习系列1--序章
python·学习·pytest
ZhengEnCi8 分钟前
P1B-Python环境配置基础完全指南-Windows系统安装与验证
python
m0_7166670730 分钟前
NumPy入门:高性能科学计算的基础
jvm·数据库·python
带娃的IT创业者1 小时前
Weclaw 请求路由实战:一个 request_id 如何在 800 个并发连接中精准找到目标浏览器?
python·websocket·fastapi·架构设计·实时通信·openclaw·weclaw
2401_844221322 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
白雨青3 小时前
国信 iQuant 自动国债逆回购实战:Python 自动化闲钱理财
python·量化策略·量化交易·国债逆回购
qq_404265833 小时前
用Python批量处理Excel和CSV文件
jvm·数据库·python
才兄说4 小时前
机器人租售效果好吗?任务前对齐需求
python
喵手4 小时前
Python 爬虫实战:构建开源主题模板版本库
爬虫·python·数据采集·爬虫实战·零基础python爬虫教学·开源主题·采集开源主题模版本库
qq_418101774 小时前
使用Scikit-learn进行机器学习模型评估
jvm·数据库·python