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

相关推荐
qq_330037992 分钟前
mysql在高并发下如何优化索引更新_mysql锁策略与调整
jvm·数据库·python
u0109147604 分钟前
如何排查SQL存储过程内存溢出_优化大数据量临时表使用
jvm·数据库·python
2301_773553625 分钟前
mysql如何优化mysql在多核CPU下的性能_调整线程并发数
jvm·数据库·python
源码之家9 分钟前
计算机毕业设计:Python股票智能分析预测平台 Flask框架 数据分析 可视化 机器学习 随机森林 大数据(建议收藏)✅
python·机器学习·数据分析·django·flask·课程设计
a9511416429 分钟前
PHP如何批量处理AI请求_队列系统搭建【技巧】
jvm·数据库·python
sinat_3834373610 分钟前
如何实现SQL简单数据的映射查询_使用CASE表达式替换
jvm·数据库·python
2401_8359568110 分钟前
JavaScript 中实现基于分组的前端产品筛选功能
jvm·数据库·python
m0_7467523012 分钟前
SQL中窗口函数的LIMIT限制逻辑_如何分页显示
jvm·数据库·python
Ice星空12 分钟前
使用 uv 进行 python 项目管理
开发语言·python·uv
m0_5145205712 分钟前
Go语言怎么做自动补全_Go语言CLI自动补全教程【经典】
jvm·数据库·python