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

相关推荐
南湖渔歌几秒前
yt-dlp下载bilibili的视频画质差咋办?
人工智能·python·workbuddy
是筱倩阿1 分钟前
Python 编程实现 PPT 批量转图片(PNG/JPG)
python·opencv·powerpoint
木土雨成小小测试员16 分钟前
Python测试开发之后端二完结
数据库·python·sqlite
szccyw018 分钟前
如何从SQL提取年或月数据_运用YEAR与MONTH提取函数
jvm·数据库·python
运气好好的35 分钟前
如何处理死锁异常_ORA-00060捕获与重试机制设计
jvm·数据库·python
石榴树下的七彩鱼38 分钟前
发票识别OCR API接入详解:自动提取发票全字段并接入财务系统(附Python/JS/PHP示例)
python·ocr·发票识别·财务自动化·api接入·石榴智能·发票ocr
GinoWi40 分钟前
Python 循环与条件判断
python
GinoWi43 分钟前
Python 集合
前端·python
2401_867623981 小时前
解决Navicat多图纸模型工作区协同报错怎么办_外键关联与语法解析
jvm·数据库·python
jump_jump1 小时前
用官方模板理解 Decky 插件:一次从模板到架构的速览
javascript·python·游戏