Python中的标准类型(可改变)

246 阅读2分钟

这是我参与18月更文挑战的第20天,活动详情查看:2021最后一次更文挑战

前言:更具昨天的发布的Python中的标准类型(可改变),这篇则是对可改变类型的概述。

可改变的基本类型:

在Python中不可改变的基本类型有:Dictionary(字典)、Set(集合)、List(列表)

Dictionary(字典)

首先我们来看一下字典的创建以及他为什么是可改变的,代码如下:

a = {"name": "又菜又想玩的大白", "age": 24}
a1 = dict({"name": "又菜又想玩的大白", "age": 24})
print(a)
print(type(a))
print(type(a1))
print(id(a))
a['name'] = "又菜又想玩的XXX"
print(a)
print(id(a))

image.png

从上我列了一下字典的创建两种方式,a是直接创建,a1则是用dict函数创建的,我们从再看下面的打印他们的类型都是字典类型的。从图中还可以看到,我的内容更变了,但是当前对象的ID依旧没变,因此可以证实字典为可改变的。

Set(集合)

我们看完了字典在来看一下集合的创建以及他为什么是可改变的,代码如下:

a = {1, 2, 3, 4}
a1 = set({1, 2, 3, 4})
print(a)
print(type(a))
print(type(a1))
print(id(a))
a.remove(1)
print(a)
print(id(a))
a.add(5)
print(a)
print(id(a))

image.png

以上是集合的创建和是否可变的判断,从上面我们可以对比字典,因此不难看出集合类型是可改变的。

List(列表)

看完了集合和字典,我们再来看一下列表的创建以及他为什么是可改变的,代码如下:

a = [1, 2, 3, 4]
a1 =list({1, 2, 3, 4})
print(a)
print(type(a))
print(type(a1))
print(id(a))
a.append(5)
print(a)
print(id(a))

image.png

以上是列表的创建和是否可变的判断,从上面我们可以对比字典和集合,因此不难看出集合类型是可改变的。

总结:本篇是对基本数据类型中可变的类型验证和创建,我们可以看到即使对象更变了,但是他们的指向ID依旧没有更变,所以在开发的时候我们可能是注意当此类对象为全局变量时,同时被调用时是否会产生死锁等异常,我们应在开发时更具自己的场景适当的应用对应的类型。