Python 数据类型

Python 数据类型

Python 的数据类型大致可以分为两大类:基本数据类型和容器数据类型。基本数据类型通常指的是单一、不可分割的数据对象,而容器数据类型则用于存储多个数据对象的集合。如下图所示:
image

基本数据类型

整型(int)

整型数据用于表示整数。Python 中的整型变量没有固定的长度限制,可以存储任意大小的整数(受限于可用内存)。可以使用 type() 函数检查变量的数据类型。此外,int() 函数可以将浮点数或数字字符串转换为整型。

a = 2
print(type(a))  # 输出: <class 'int'>

浮点型(float)

浮点型数据用于表示数学中的小数。在 Python 中,浮点数的精度类似于 C 语言中的 double 类型。整数与浮点数进行算术运算的结果通常是浮点型。float() 函数可以将整数或字符串转换为浮点数。

a = 2.2
print(type(a))  # 输出: <class 'float'>

布尔型(bool)

布尔型数据只有两个取值:True 和 False。在 Python 中,布尔型是一个独立的数据类型。其他数据类型(如整数、字符串等)在特定条件下也可以作为布尔值使用,其中 0、空字符串、空的列表、空的元组、空的集合以及 None 通常被视为 False,而非零、非空容器类型则被视为 True。bool() 函数可以将其他类型转换为布尔型。

a = bool([])
print(type(a))  # 输出: <class 'bool'>

None(空值)

None 是 Python 中的一个特殊常量,表示空值或没有值。None 有自己的数据类型 NoneType,与 False、0 或空字符串不同。None 可以被赋给任何变量,但不能创建其他 NoneType 对象。

a = None
print(type(a))  # 输出: <class 'NoneType'>

None 通常用于表示变量没有值或函数没有返回值(在 Python 中,没有返回值的函数默认返回 None)。

容器数据类型

字符串(str)

字符串是由字符组成的序列,它们被单引号、双引号或三引号(连续的三个单引号或双引号)所包围。作为序列类型,字符串中的各个元素可以通过索引来访问,索引从0开始计数。字符串是不可变的,意味着一旦创建,其内容就不能被修改。

a = "None"
print(type(a))  # 输出a的类型为: <class 'str'>

列表(list)

列表是一种有序的数据集合,可以包含不同类型的元素,且元素可以重复。列表使用方括号[]表示,元素之间用逗号,分隔。列表是可变的,支持添加、删除和修改元素,也支持嵌套和多种内置方法。此外,列表可以通过加法和乘法进行扩展和重复。

a = [1, 2, 3]
print(type(a))  # 输出a的类型为: <class 'list'>

元组(tuple)

元组与列表相似,但它是不可变的,可以看作是一个只读的列表。元组使用圆括号()表示,元素之间也用逗号,分隔。元组支持任意类型的元素、嵌套以及常见的序列操作,但由于其不可变性,一旦创建就不能修改其内容。

a = (3,)  # 注意单个元素的元组需要在元素后加逗号
print(type(a))  # 输出a的类型为: <class 'tuple'>

字典(dict)

字典是一种无序的映射类型,它使用键-值对(key-value pair)来存储数据。字典中的每个键必须是唯一的,而值可以重复。字典使用大括号{}表示,键和值之间用冒号:分隔,不同的键-值对之间用逗号,分隔。由于字典是无序的,因此不支持通过数字索引来访问元素。

# 注意:字典中不能有重复的键,下面的示例中第二个键值对会覆盖第一个
a = {1: 3, 1: 4}  # 实际存储的只会是 {1: 4}
print(type(a))  # 输出a的类型为: <class 'dict'>

可变集合(set)

可变集合是一个无序且不包含重复元素的集合。由于它是无序的,因此不支持索引操作。可变集合允许动态地添加和删除元素。由于它是可变的,因此不能作为其他集合的元素或字典的键。

a = set('cheeseshop')
print(type(a))  # 输出a的类型为: <class 'set'>

不可变集合(frozenset)

不可变集合与可变集合相似,也是一个无序且不包含重复元素的集合。然而,与可变集合不同的是,不可变集合一旦创建,其内容就不能被修改。由于它具有哈希值,因此可以作为其他集合的元素或字典的键。

a = frozenset('cheeseshop')
print(type(a))  # 输出a的类型为: <class 'frozenset'>

参考资料

https://blog.csdn.net/weixin_51202460/article/details/123833339

posted @ 2024-06-11 08:01  测试小罡  阅读(955)  评论(0编辑  收藏  举报