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

相关推荐
nananaij几秒前
【LeetCode-04 数组异或操作 python解法】
python·算法·leetcode
badhope4 分钟前
一命速通蓝桥杯全攻略
开发语言·前端·人工智能·python·职场和发展·蓝桥杯·github
誰氵难浔5 分钟前
了解和使用python的click命令行cli工具
python
geovindu8 分钟前
python: 初养龙虾微信纯文字自动回复using workBuddy
开发语言·python·ocr·腾讯云ai代码助手
真智AI16 分钟前
用 mcp2cli + OpenAPI 生成可运行Markdown接口文档
python·fastapi·markdown·文档生成·python 3.11·mcp2cli
竹林81817 分钟前
从零到精通:用 Python openpyxl 批量处理 Excel,彻底告别重复劳动
python·excel
1941s23 分钟前
03-Agent 智能体开发实战指南(三):ReAct 框架深度解析
人工智能·python·langchain
铁蛋AI编程实战25 分钟前
最新版 Kimi K2.5 进阶实战全攻略:从开源部署到 Agent 集群搭建(视频理解 + 多模态开发 + 高并发调优)
人工智能·python·开源·音视频
zh路西法27 分钟前
【宇树机器人强化学习】(三):OnPolicyRunner和VecEnv以及RolloutStorage的python实现与解析
开发语言·python·深度学习·机器学习·机器人
Balrog-v28 分钟前
2026最新保姆级教程:Windows 下使用 uv 从零配置 Python (OpenCV) 环境指南
windows·python·uv