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

相关推荐
程序员小远32 分钟前
如何搭建Appium环境?
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
烟袅38 分钟前
使用 OpenAI SDK 调用 Tools 实现外部工具集成
python·openai·agent
青瓷程序设计1 小时前
果蔬识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
川石课堂软件测试1 小时前
自动化过程中验证码的解决思路
数据库·python·功能测试·测试工具·单元测试·tomcat·自动化
2301_764441331 小时前
新能源汽车电磁辐射高级预测
python·算法·数学建模·汽车
爱吃泡芙的小白白1 小时前
使用某云超算平台Jupyterlab的使用方法(自用)
运维·服务器·python·学习记录
qq_203769491 小时前
在conda环境中使用jupyter
python·jupyter·conda
二川bro2 小时前
Python模型优化实战:深度学习加速与压缩技巧
python
l***74943 小时前
SQL Server2022版+SSMS安装教程(保姆级)
后端·python·flask
傻啦嘿哟4 小时前
Python实现PDF文档高效转换为HTML文件:从基础到进阶的完整指南
python·pdf·html