Python的可变类型与不可变类型

1. 类型

不可变类型有  数字(number)  字符串(str) 元组(tuple)

可变类型有 列表(list) 集合(set) 字典(dict)

2.特点

不可变数据类型,在第一次声明赋值的时候,系统会开辟个空间用于存放这个类型的地址,当我们需要调用的时候,就是通过调取地址来取值,我们再次声明赋值的时候,不会去修改原来的地址,而是重新开辟一个新的空间去存放地址,也就是,两次地址是不一样的。 即使是有嵌套,元组嵌套列表,列表里面嵌套元组,这个规则依然适用。 下面是一个简单的说明。

>>> a=18
>>> id(18)
140732249082048
>>> a=19
>>> id(19)
140732249082080

一开始a指向黑色箭头的,重新赋值后,转向新的红色

可变数据类型就是指向内存地址的值是可以被改变的。

>>> x=[1,2,3]
>>> id(x)
2526347014016
>>> y=[1,2,3]
>>> id(y)
2526353568896
a=(1,2,3,4)
a[2]=60
b="dasdasd"
b[0]="6"
print(a,b)
TypeError: 'tuple' or 'str' object does not support item assignment
元组中的元素值是不可以被修改的,当创建好后是固定不变的,所谓的修改,其实就是创建一个新的元组。
tuple_01=("a","b","c")
list_01=list(tuple_01)
list_01[1]="x"
print(tuple(list_01))

3.转义字符失效,当你想使转义字符失效,不进行转义的话, r“”

print(r"dsa\t das \n dasd")
dsa\t das \n dasd

4. 取字典的元素用 dict01.get(“键对象”)  如果直接取字典的元素,若键对象不存在,则报错。

赞赏

微信赞赏支付宝赞赏

发表评论