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

相关推荐
自由生长20241 分钟前
Python的私有方法技巧-双下划线开头
python
sg_knight2 分钟前
设计模式与代码重构
python·设计模式·重构·开发
百***78753 分钟前
【保姆级教程】GPT-5.1极速接入指南:3步上手多模态AI能力
大数据·python·gpt·opencv
创作者mateo4 分钟前
python基础学习之Python 循环及函数
开发语言·python·学习
自由生长20246 分钟前
Python的条件编译-Type_Checking
python
mikejahn8 分钟前
使用selenium从CNAS网站解析实验室信息
python·selenium·测试工具
坐公交也用券11 分钟前
适用于vue3+pnpm项目自动化类型检查及构建的Python脚本
开发语言·javascript·python·typescript·自动化
serve the people25 分钟前
tensorflow 深度解析 Sequential 模型的创建与层管理
人工智能·python·tensorflow
wfeqhfxz258878239 分钟前
条形码识别与定位:基于FCOS框架的多类型条码检测与识别技术详解
python
free-elcmacom39 分钟前
Python实战项目<3>赛制分数分析
开发语言·前端·python·数据分析