• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞java代码 3年前 (2022-05-21) 35次浏览 已收录 0个评论

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

a = 1 #把1<a href="https://www.gaodaima.com/tag/%e8%b5%8b%e5%80%bc" title="查看更多关于赋值的文章" target="_blank">赋值</a>给a
a = 2 #把2赋值a

www#gaodaima.com来源gaodai#ma#com搞*!代#%^码$网搞代码

这一过程中其实是重新创建新的值为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

小结

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

来源:搞代码网:原文地址:https://www.gaodaima.com


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python可变参数和不可变参数指的是什么

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址