文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python值传递和引用传递有什么不同

2023-09-23 05:24

关注

在Python中,变量的传递方式既不是纯粹的值传递,也不是纯粹的引用传递,而是一种称为"对象的引用传递"的方式。
值传递是指在函数调用时,将实际参数的值复制给形式参数,函数中对形式参数的修改不会影响实际参数的值。而引用传递是指在函数调用时,将实际参数的引用(内存地址)传递给形式参数,函数中对形式参数的修改会影响实际参数的值。
在Python中,当一个变量被作为参数传递给函数时,实际上是将该变量的引用(内存地址)传递给函数。如果在函数中修改了形式参数的值,会影响原始变量的值,这类似于引用传递的行为。但是,如果在函数中给形式参数重新赋值,即让形式参数指向一个新的对象,原始变量的值不会受到影响,这类似于值传递的行为。
下面通过例子来说明:
```python
def foo(x):
x = 10
print('x in foo:', x)
a = 5
foo(a)
print('a after foo:', a)
```
输出结果为:
```
x in foo: 10
a after foo: 5
```
在函数内部,`x = 10`是给形式参数重新赋值,这时形式参数x指向了一个新的对象10,原始变量a的值不会受到影响。所以,可以说Python是使用对象的引用传递来传递参数。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯