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

相关推荐
后台开发者Ethan9 分钟前
py文件被初始化执行了2次
python
a3158238069 分钟前
Linux部署Python Django工程和Node工程,使用宝塔面板
linux·服务器·python·django·node·strapi·宝塔面板
B站计算机毕业设计之家12 分钟前
机器学习:python智能电商推荐平台 大数据 spark(Django后端+Vue3前端+协同过滤 毕业设计/实战 源码)✅
大数据·python·spark·django·推荐算法·电商
豪哥大爷15 分钟前
Python datetime模块全面指南
python
dagouaofei16 分钟前
年终总结PPT用AI最快生成
人工智能·python·powerpoint
、、、、南山小雨、、、、18 分钟前
云主机GPU pyTorch部署
人工智能·pytorch·python
n***44318 分钟前
Java进阶:IO大全
java·开发语言·python
散峰而望18 分钟前
AI 知识科普
人工智能·python·深度学习·机器学习·计算机视觉
海边夕阳200640 分钟前
【每天一个AI小知识】:什么是语义分割?
人工智能·经验分享·python·深度学习·机器学习·语义分割
棒棒的皮皮41 分钟前
【OpenCV】Python图像处理之图像表示方法
图像处理·python·opencv