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

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

小结

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

以上是 python可变参数和不可变参数指的是什么 的全部内容, 来源链接: utcz.com/z/522826.html

回到顶部