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

相关推荐
ZC跨境爬虫5 分钟前
Scrapy实战爬取5sing网站:Pipeline优化+全流程踩坑复盘,从报错到数据落地
前端·爬虫·python·scrapy
ZhuNian的学习乐园6 分钟前
LLM智能体调度:从ReAct到多智能体调度
人工智能·python·深度学习
喵叔哟8 分钟前
6.【.NET10 实战--孢子记账--产品智能化】--认证与安全包
python·安全·flask
小鱼~~15 分钟前
Jupyter Notebook 最常用快捷键
python·jupyter
wgzrmlrm7424 分钟前
如何从SQL中提取年份或月份:EXTRACT与日期函数用法
jvm·数据库·python
web3.088899927 分钟前
淘宝、京东、1688 拍立淘图搜 API 均返回 JSON 格式
python·json
IT莫染36 分钟前
用脚本解放双手!我写了个WorkBuddy自动签到工具
python
d1z88838 分钟前
(十八)32天GPU测试从入门到精通-TensorRT-LLM 部署与优化day16
人工智能·python·深度学习·gpu·tensorrt
qq_2837200541 分钟前
Python 面向对象编程(OOP)从入门到精通
python·oop·面对对象
linux_map44 分钟前
大模型微调实战指南
人工智能·python·ai·策略模式