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

相关推荐
南科1号几秒前
Tushare数据来源分析一例
python
API技术员13 分钟前
京东API接口:如何高效获取商品详情与SKU信息
python
sort浅忆40 分钟前
deeptest执行接口脚本,添加python脚本断言
开发语言·python
冷月半明1 小时前
trea solo,让我从牛马外包翻身当“甲方”
python·trae
superman超哥1 小时前
仓颉借用检查器工作原理深度解析
c语言·开发语言·c++·python·仓颉
张彦峰ZYF1 小时前
Python 项目文件组织与工程化实践
python·项目文件组织与工程化实践
webbodys2 小时前
Python文件操作与异常处理:构建健壮的应用程序
java·服务器·python
MediaTea3 小时前
Python:实例 __dict__ 详解
java·linux·前端·数据库·python
SunnyDays10113 小时前
Python Excel 打印设置全攻略(打印区域、缩放、页边距、页眉页脚等)
python·excel打印设置·excel页面设置·excel打印选项
小鸡吃米…3 小时前
Python的人工智能-机器学习
人工智能·python·机器学习