Python 中的值传递 和 引用传递

这篇具有很好参考价值的文章主要介绍了Python 中的值传递 和 引用传递。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Python 当中的函数调用当中, numpy 和 torch.tensor 都 是按照 引用传递 传到函数里面的,也就是说 修改 传入函数的 形参,也会导致 未传入之前的形参 发生 变化。

position 是一个 tensor; 下面这段代码第一行,如果在函数里面修改 position 会导致 下面的 position 也会发生变化
  ## 两段代码都用到 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 的数值不会发生变换。文章来源地址https://www.toymoban.com/news/detail-636995.html

结论: 当函数的参数是 : numpy 数组, Tensor, 列表 List 作为形参, 发生的都是 引用传递。

到了这里,关于Python 中的值传递 和 引用传递的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 重温C#中的值类型和引用类型

    在C#中,数据类型分为 值类型 和 引用类型 两种。 引用类型变量存储的是数据的引用,数据存储在数据堆中,而值类型变量直接存储数据。对于引用类型,两个变量可以引用同一个对象。因此,对一个变量的操作可能会影响另一个变量引用的对象。对于值类型,每个变量都有

    2024年02月15日
    浏览(38)
  • 在 Python 中替换字典中的值

    使用 dict.update() 方法替换字典中的值,例如 my_dict.update({\\\'key\\\': \\\'new value\\\'}) 。 dict.update() 方法使用提供的值中的键值对更新字典。 我们使用 dict.update 方法来替换字典中的值。 ict.update 方法使用提供的值中的键值对更新字典。 该方法覆盖字典的现有键并返回 None 。 dict.update() 方

    2024年02月07日
    浏览(32)
  • python中的形参和实参以及参数传递方式

    在编程语言中,函数定义时用的是形参,调用时用的是实参。 形参,全称为\\\"形式参数\\\",不是实际存在的变量,又称虚拟变量。形参是在定义函数名和函数体的时候使用的参数, 目的是用来接收调用该函数时传入的参数 。 实参,全称为\\\"实际参数\\\",是在调用时传递给函数的

    2024年02月02日
    浏览(28)
  • python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域

    目录 python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域 1、先来看个问题吧: 2、引用 VS 拷贝: 3、增强赋值以及共享引用:

    2024年02月08日
    浏览(38)
  • Python中如何引用其他文件中的函数

    在Python编程中,我们经常会将代码分散在多个文件中,这样可以使代码更加模块化和易于维护。当我们需要在一个文件中使用另一个文件中定义的函数时,我们可以通过引用其他文件来实现这一目的。下面我将介绍两种常用的方法来引用其他文件中的函数。 方法一:使用im

    2024年02月05日
    浏览(37)
  • Python中的弱引用与基础类型支持情况探究

    最近有一个业务场景需要用Python自行实现一个简单的LRU cache,不可避免的接触到了弱引用这一概念,这里记录一下。 Python内存回收由垃圾回收器自动管理,当一个对象的引用计数归0时,其内存就可能被回收掉,而引用计数器的数值其实就是代表有多少个强引用指向该对象,

    2024年02月16日
    浏览(29)
  • Python 中的 TypeError: an integer is required 错误通常是由于我们在代码中使用整数(integer)参数的地方实际上传递

    Python 中的 TypeError: an integer is required 错误通常是由于我们在代码中使用整数(integer)参数的地方实际上传递了非整数类型的参数,例如字符串(string)或浮点数(float)。这个错误可以在编写 Python 程序时遇到,但也可能是在编写 Python 脚本时遇到。 下面是解决 TypeError: an i

    2024年02月15日
    浏览(33)
  • C#的值类型和引用类型

    在C#中,数据类型可以分为值类型(Value Types)和引用类型(Reference Types)两种。下面是对它们的详细解释和示例说明: 值类型(Value Types): 值类型变量直接包含它们的数据,存储在栈上。 值类型包括整数类型(如int、byte、char)、浮点类型(如float、double)、布尔类型(如

    2024年02月15日
    浏览(34)
  • vue中子组件间接修改父组件传递过来的值

    Vue官方文档Props单向数据流讲解 Vue中遵循 单向数据流 ,所有的 props 都遵循着单向绑定原则,props 因父组件的更新而变化, 自然地将新的状态向下流往子组件 ,而 不会逆向传递 。这避免了子组件意外修改父组件的状态的情况,不然应用的数据流将很容易变得混乱而难以理解

    2024年02月15日
    浏览(34)
  • 【Jmeter之get请求传递的值为JSON体实践】

    Jmeter之get请求传递的值为JSON体实践 1、在URL地址后面拼接,有多个key和value时,用链接 2、在Parameters里面加上key和value 尝试一:把json放到value,勾选编码,发送请求后报错,提示参数异常 尝试二:把json进行URL编码后,再放到URL地址后面,发现json里面有需要参数化的值,所以

    2024年01月16日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包