Python中引用传参四种方式介绍

引用传参一:

​​>>> a = 100 #这里的a是不可变类型
>>> def test(a):
... a+=a
#这个式子有两层含义:1.这里可能是重新定义一个新的变量a,2.也有可能是修改a的值,但由于全局
#变量a不能修改,所以此处是重新定义了一个a;
... print("函数内:%d"%a)
...
>>> test(a)
函数内:200
>>> print(a)
100

​引用传参二:

​​>>> a = [100] #这里的a是一个列表,是可变类型
>>> def test(a):
... a+=a #由于列表a是可变类型,所以这里是修改a
... print("函数内:")
... print(a)
...
>>> test(a)
函数内:
[100, 100]
>>> print(a)
[100, 100]

​​引用传参三:

​​>>> a = 100
>>> def test(a):
... a=a+a #最初为了好理解,所以可以认为a+=a等价于a=a+a,所以这里同引用传参一
... print("函数内:%d"%a)
...
>>> test(a)
函数内:200
>>> print(a)
100

​​引用传参四:

​​>>> a = [100]
>>> def test(a):
#1. 先算 =号右边的
#2. 算出来的结果是[100,100]
#3. a = [100,100]
#4. 让a变量指向了[100,100],即a保存的是[100,100]的引用(内存地址)
... a=a+a #对于这种情况,等号左边的a是重新定义的一个量,此时a=a+a与a+=a不一样
... print("函数内:")
... print(a)
...
>>> test(a)
函数内:
[100, 100]
>>> print(a)
[100]

总结

到此这篇关于Python中引用传参四种方式介绍的文章就介绍到这了,更多相关Python引用传参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Python中引用传参四种方式介绍)