码迷,mamicode.com
首页 > 其他好文 > 详细

py中函数是传值还是传引用

时间:2020-06-14 10:35:50      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:中间   pre   程序   end   对象引用   函数   通过   传引用   元组   

1.py中函数是传值还是传引用?

https://www.cnblogs.com/loleina/p/5276918.html,中间的实验我没有看,但是结论如下:

结论:python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值‘来传递对象。

2.实验

def fun(a):
    a.append(3)
b=[1]
fun(b)
print(b)

#
[1, 3]

 可以发现对于列表这种可变对象,是传递引用的

def fun(a):
    a=3
b=1
fun(b)
print(b)

#
1

 

对于不可变对象,比如这样一个数字变量,就不会更改,是值传递 

//学到了。

py中函数是传值还是传引用

标签:中间   pre   程序   end   对象引用   函数   通过   传引用   元组   

原文地址:https://www.cnblogs.com/BlueBlueSea/p/13123622.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!