Python 值传递和引用传递

Posted t0nsha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 值传递和引用传递相关的知识,希望对你有一定的参考价值。

值传递和引用传递

参考地址:http://www.dataguru.cn/thread-489552-1-1.html

python的值传递不会改变传入参数的值,而引用传递传入的是一个地址,有点类似c的指针,在执行完成之后会改变传入地址所指的值。


值传递类型如下:

上面的代码只是将a的值作为参数传递进去,程序执行完之后a的值并未改变

?
1 2 3 4 5 6 =  1 def  change_integer(a):      =  +  1      return  a print  change_integer(a) print  a

结果:

2

1

[Finished in 0.1s]



引用传递的类型如下:

?
1 2 3 4 5 6 7 =  [ 1 2 3 ] def  change_list(b):      b[ 0 ] =  b[ 0 ] + 1      return  b   print  change_list(b) print  b

结果:

[2, 2, 3]

[2, 2, 3]

[Finished in 0.1s]


而这里将b的地址传递进去之后,程序执行完之后b的值也随之改变。



如何解决 变量 : 由 引用传递 变为 值传递??

方案如下:

?
1 2 3 4 5 6 7 8 9 import  copy   =  [ 1 2 3 ] def  change_list(b): 值传递

Python参数传递(引用传递和值传递)

python中的值传递和引用传递

java参数传递

Python按值传递参数和按引用传递参数

[转]Python中函数的值传递和引用传递

(c)2006-2024 SYSTEM All Rights Reserved IT常识