不变是什么意思?哪些Python类型是可变的,哪些不是?

在Python中,有两种类型的对象。

  • 可变对象

  • 不变的对象

可变的:可变的对象被修改,(即)对象是可变的listsetdict等是可变的。

易变的对象很容易更改。

例子1

list =["Tutorials ","Point", "Pvt","Ltd"]
list[2]= 'Tutorix'
list

输出结果

['Tutorials ', 'Point', 'Tutorix', 'Ltd']

例子2

list=['Car','Bike','Scooty','Bus','Metro']
list[4]= 'Bicycle'
list

输出结果

['Car', 'Bike', 'Scooty', 'Bus', 'Bicycle']


不可变:不可变对象不被修改(即不可更改)intfloatboolstrtupleUnicode等是不可变的。不可变的对象很昂贵,而且很难更改。在圆括号内包含一个元组,元组是不可变的,不能更改。

例子1

tuple=('1','2','Python','Perl')
tuple

输出结果

('1', '2', 'Python', 'Perl')

例子2

tuple=('1','2','Python','Perl')
tuple[4]='2019'
tuple

输出结果

TypeError Traceback (most recent call last)
in
1 tuple=('1','2','Python','Perl')
----> 2 tuple[4]='2019'
3 tuple
TypeError: 'tuple' object does not support item assignment


通过查看上面的输出无法更改元组对象,您会清楚地了解