码迷,mamicode.com
首页 > 其他好文 > 详细

可变/不可变数据类型

时间:2020-03-07 12:47:52      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:不可变   分割   false   总结   int   highlight   pytho   print   不能   

可变不可变类型

  • 可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的

  • 不可变类型:值改变,id也改变了,证明是产生新的值,压根没有改变原值,证明原值是不可改变的

 

int   float  str  不可变

x = 10
print(id(x))
x = 20
print(id(x))

1646651456
1646651616


x = 10.1
print(id(x))
x = 20.1
print(id(x))

21905056
21902576

x = ‘xxq‘
print(id(x))
x = ‘zsy‘
print(id(x))

59860800
59862464

  

总结:int、float、str在Python中都被设计成了不可分割的整体,不能够被改变

 

 

list是可变类型

列表本身的内存地址是不变的,但是列表里面的存的值的内存地址变了

改变的是元素地址(换汤不换药)

# l = [‘aaa‘,‘bbb‘,‘ccc‘]
# print(id(l))
# l = [‘xxx‘,‘yyy‘,‘zzz‘]
# print(id(l))

l = [‘aaa‘,‘bbb‘,‘ccc‘]
print(id(l))
l[0] = ‘AAA‘
# print(l)
print(id(l))

  

dict是可变类型

dic = {‘k1‘:111,"k2":222}
print(id(dic))
dic[‘k1‘] = 333
print(id(dic))

定义:{}内用逗号隔开多个 key : value,其中 value可以是任意类型,但是 key必须是不可变类型

  

bool不可变

  • 因为只有True  和 False

 

可变/不可变数据类型

标签:不可变   分割   false   总结   int   highlight   pytho   print   不能   

原文地址:https://www.cnblogs.com/Tornadoes-Destroy-Parking-Lots/p/12433374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!