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

相关推荐
计算机毕业编程指导师6 分钟前
【Python大数据选题】基于Spark+Django的电影评分人气数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·spark·django·电影评分人气
Python极客之家33 分钟前
基于Django的高校二手市场与社交系统
后端·python·数据挖掘·django·毕业设计
shenzhenNBA35 分钟前
python用openpyxl操作excel-合并格式相同的excel文件
python·excel·openpyxl·excel合并
shenzhenNBA37 分钟前
python用openpyxl操作excel-读取sheet中数据
python·excel·读取sheet数据
gf132111138 分钟前
python_字幕、音频、媒体文件(图片或视频)一键组合
python·音视频·swift
网安Ruler1 小时前
崭新出厂,自研CipherForge小工具,攻破 D-Link M30 固件加密
前端·网络·python
艾上编程1 小时前
第二章——数据分析场景之Python数据可视化:用Matplotlib与Seaborn绘制洞察之图
python·信息可视化·数据分析
Cigaretter71 小时前
Day 31 类的装饰器
开发语言·python
MasonYyp1 小时前
简单使用Argos翻译框架
python
XiaoMu_0011 小时前
验证码识别系统
python·深度学习