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

小结

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

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » python可变参数和不可变参数指的是什么