python可变参数和不可变参数指的是什么

255次阅读
没有评论

python可变参数和不可变参数指的是什么

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:

a = 1 #把1赋值给a
a = 2 #把2赋值a

这一过程中其实是重新创建新的值为2的对象a,原先指向1的变量a 被废弃了

可变类型:

l = [1,2,3]
l[0] = 99

这一过程中只是修改而已,l 指向这个列表的变量没有变化

   def changeList(self,mylist):
       mylist.extend([1,2,3])
       print('函数内的list: ',mylist)
 
   def changeInt(self,a):
       a = 10
       print('函数内的int: ',10)
 
   if __name__ == '__main__':
   s = Student()
   l = [11,22,33]
   s.changeList(l)
   print('函数外的list:',l)
 
   a = 100
   s.changeInt(a)
   print('函数外的int: ',a)
 
结果:
函数内的list:  [11, 22, 33, 1, 2, 3]
函数外的list: [11, 22, 33, 1, 2, 3]
函数内的int:  10
函数外的int:  100

小结

从代码可以看出,不可变的参数传入后并函数外并没有改变值,具有不可变性;而列表,传入参数后列表内容发生改变,函数外的列表也一同发生改变,具有可变性。

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:wuyou2019-10-10发表,共计711字。
新手QQ群:570568346,欢迎进群讨论 Python51学习
评论(没有评论)