Python10-04_函数----传递含可变对象的不可变对象

时间:2020-09-17 21:44:36   收藏:0   阅读:33

传递含可变对象的不可变对象

传递参数是不可变对象,实际上传递的还是对象的引用,传递不可变对象时,如果不可变对象里面包含子对象是可变的,则方法内修改了这个可变对象,原对象也发生 了变化

 1 a = 10
 2 print(a:,id(a))
 3 
 4 def test01(m):
 5     print(m:,id(m))
 6     m = 20
 7     print(m)
 8     print(m:,id(m))
 9 
10 test01(a)
11 print(id(a))

技术图片

 

 

技术图片

 

 

 1 a = (10,20,[5,6])
 2 print(a:,id(a))
 3 
 4 def test(m):
 5     print(m:,id(m))
 6     m[2][0] = 777
 7     print(m)
 8     print(m:,id(m))
 9 
10 test(a)
11 print(a:,a)

 

技术图片

 

 

技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!