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