首页 / 知识
Python 参数传递
2023-11-12 13:39:00
Python的参数传递是赋值传递(passbyassignment),或者叫作对象的引用传递(passbyobjectreference)。在进行参数传递时,新变量与原变量指向相同的对象。下面先来看一下Python中可变和不可变数据类型赋值的例子。
1.不可变数据类型
整型(int)赋值:
a=1
print(id(a))
b=a
print(id(b))
a=a+1
print(id(a))
c=1
print(id(c))
执行结果:
140722100085136
140722100085136
140722100085168
140722100085136
其中id()函数用于返回对象的内存地址。
可以看到b,c都指向了相同的对象,而a=a+1并不是让a的值增加1,而是重新创建并指向了新的值为2的对象。最终结果就是a指向了2这个新的对象,b指向1,值不变。
2.可变数据类型
以列表(list)为例:
l1=[1,2,3]
print(id(l1))#
l2=l1
print(id(l2))
l1.append(4)
print(id(l1))
print(l1)
print(l2)
执行结果:
1933202772296
1933202772296
1933202772296
[1,2,3,4]
[1,2,3,4]
l1和l2指向相同的对象,由于列表是可变(mutable)数据类型,所以l1.append(4)不会创建新的列表,仍然指向相同的对象。由于l1和l2指向相同的对象,所以列表变化也会导致l2的值变化。
可变对象(列表,字典,集合等)的改变,会影响所有指向该对象的变量。对于不可变对象(字符串、整型、元组等),所有指向该对象的变量的值总是一样的,也不会改变。
以上内容为大家介绍了Python参数传递,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
linux获取命令行结果?
linux获取命令行结果?,系统,信息,工作,地址,设备,命令,软件,环境,目录,文件,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录linux命令怎么给参数?
linux命令怎么给参数?,工作,认证,系统,地址,信息,密码,地方,命令,目录,文件,Linux命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目录linux命令替换变量值?
linux命令替换变量值?,系统,档案,密码,位置,情况,发行,命令,变量,脚本,内容,Linux系统Shell命令常用功能使用详解1、Shell提供了参数置换功能linux命令参数的作用?
linux命令参数的作用?,系统,工作,命令,信息,标准,名称,位置,下来,在线,档案,求linux下tar命令的各种参数选项和他们的作用,要详细一点的,谢谢,linux命令只刷新参数?
linux命令只刷新参数?,工作,系统,地址,信息,命令,目录,管理,标准,文件,功能,Linux常用命令linux系统常用操作命令如下:ls:全拼list,功能是列出目如何将python添加到环境变量?
如何将python添加到环境变量?,系统,信息,工作,环境变量,命令,窗口,步骤,变量,路径,以下,Python是一种被广泛使用的编程语言,许多人都喜欢使用Pyanaconda环境变量配置?
anaconda环境变量配置?,环境,系统,工具,管理系统,管理,信息,名称,环境变量,适当,分析,Anaconda是一个开源的Python发行版,其提供了一个方便的包python字符串截取?
python字符串截取?,代码,步长,位置,分析,字符串,字符,信息,灵活,数字,表示,在Python中,字符串是一种非常常见的数据类型,它可以用来表示文本、数大学生报名Python培训课程的好处是
大学生报名Python培训课程的好处是什么?,培训,企业,社会,项目,行业,工作,时间,技术,都会,素养,一、报名学习前沿技术在IT行业,技术在不断变化和线上Python培训和线下有什么不同?
线上Python培训和线下有什么不同?,培训,基础,实战,电脑,项目,教育,时间,地方,初级,技术,学习互联网技术的人越来越多,很多机构都采取线上和线下报名Python培训选择哪种方式比较好
报名Python培训选择哪种方式比较好?,培训,工作,基础,时间,情况,在线,最划算,环境,系统,方式,Python不仅是一种高级的编程语言,而且还是一种应用总结python 元组和列表的区别
总结python 元组和列表的区别,培训,列表,括号,切片,包裹,两者,实例,元素,区别,操作,python的基本类型中有元组和列表这么俩个,但是这哥俩却比