python关于向函数传值原值是否改变的问题

编程入门 行业动态 更新时间:2024-10-12 12:28:49

python关于向<a href=https://www.elefans.com/category/jswz/34/1771370.html style=函数传值原值是否改变的问题"/>

python关于向函数传值原值是否改变的问题

a = 100
def add(num):num+=numprint num
add(a)
print a
a = [100]
def add(num):num+=num #注意不是num = num + numprint num
add(a)
print a

问上面两种情况的输出分别是什么?
1是200,100
2是[100,100],[100,100]

两个里面穿进去的都是地址,第一个做修改的时候发现传进来的是不可修改变量,第二个传进去的是可修改变量,所以直接做修改

不可修改变量类型:str,int,float,tuple
可修改变量类型:list,dict

3

a = [100]
def add(num):num = num + numprint num
add(a)
print a

但是这种时候,输出结果是[100,100],[100]
原因是num+=num和num=num+num不同,前面是修改原来的num的值,后面这个是num+num赋值给变量num,所以需要看函数中是不是直接对变量修改

更多推荐

python关于向函数传值原值是否改变的问题

本文发布于:2024-03-23 18:39:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741485.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   原值   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!