首页 > 其他 > 详细

值传递和引用传递

时间:2019-12-03 02:29:43      阅读:91      评论:0      收藏:0      [点我收藏+]

根据实际参数的类型不同,可以将实际参数的值传递给形式参数,或将实际参数的引用传递给形式参数。

其中,当实际参数为不可变对象时,进行的时值传递;当实际参数为可变对象时,进行的时引用传递。

值传递和引用传递区别:

值传递后,改变形式参数的值,实际参数的值不变;

引用传递后,改变行是参数的值,实际参数的值也一同改变。

 

代码:

 1 def demo(obj):
 2     print("原来的值:",obj)
 3     obj += obj
 4 
 5 #调用函数
 6 print("="*5 + "值传递" + "=" *5)
 7 mot = 哈哈哈
 8 print("执行函数前:",mot)
 9 demo(mot)
10 print("执行函数后",mot)
11 
12 print("="*5 + "引用传递" + "=" *5)
13 list1 = ["11","22","33"]
14 print("执行函数前:",list1)
15 demo(list1)
16 print("执行函数后",list1)

结果:

D:\python_work\venv\Scripts\python.exe D:/python_work/test.py
=====值传递=====
执行函数前: 哈哈哈
原来的值: 哈哈哈
执行函数后 哈哈哈
=====引用传递=====
执行函数前: [11, 22, 33]
原来的值: [11, 22, 33]
执行函数后 [11, 22, 33, 11, 22, 33]

Process finished with exit code 0

 

参考:

int,string,float,tuple 不可变对象

dict,set,list 可变对象

 

应用场景:

待了解,补充

值传递和引用传递

原文:https://www.cnblogs.com/leisurelyRD/p/11973928.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!