目录

  • 数据类型
  • 1. 数字类型
  • 2. 序列类型
  • 3. 集合类型
  • 4. 映射类型
  • 5. 布尔类型
  • 6. 特殊类型
  • 数据类型之间的相互转换
  • 1. 整数转浮点数
  • 2. 浮点数转整数(注意:这可能会导致精度损失)
  • 3. 字符串转整数
  • 4. 整数转字符
  • 5. 列表转元组(注意:元组是不可变的)
  • 6. 元组转列表
  • 7. 字符串转字节串



Python的数据类型非常丰富,主要可以分为以下几类:

数据类型

1. 数字类型

  • 整数(int):如 1, 2, 3, -4, 0 等。
  • 浮点数(float):如 1.2, -3.4, 0.0 等。
  • 复数(complex):如 3+4j(其中j是虚数单位)。

2. 序列类型

  • 列表(list):如 [1, 2, 3],可以包含不同类型的数据。
  • 元组(tuple):如 (1, 2, 3),与列表类似,但不可变。
  • 字符串(str):如 “hello”,用于表示文本数据。
  • 字节串(bytes):如 b’hello’,用于表示二进制数据。
  • 字节数组(bytearray):可变的字节序列。

3. 集合类型

  • 集合(set):如 {1, 2, 3},无序且不包含重复元素。
  • 冻结集合(frozenset):不可变的集合。

4. 映射类型

  • 字典(dict):如 {‘name’: ‘Alice’, ‘age’: 30},用于存储键值对。

5. 布尔类型

  • 布尔值(bool):只有True和False两个值。

6. 特殊类型

  • None:表示空值或没有值。
  • Ellipsis(…):常用于NumPy等科学计算库中,表示省略。

数据类型之间的相互转换

数据类型之间的转换通常使用内置的转换函数,以下是一些例子:

1. 整数转浮点数

int_num = 10
float_num = float(int_num)  # 转换为浮点数
print(float_num)  # 输出: 10.0

2. 浮点数转整数(注意:这可能会导致精度损失)

float_num = 10.5
int_num = int(float_num)  # 转换为整数,结果会向下取整
print(int_num)  # 输出: 10

3. 字符串转整数

str_num = "123"
int_num = int(str_num)  # 转换为整数
print(int_num)  # 输出: 123

4. 整数转字符

int_num = 123
str_num = str(int_num)  # 转换为字符串
print(str_num)  # 输出: '123'

5. 列表转元组(注意:元组是不可变的)

list_data = [1, 2, 3]
tuple_data = tuple(list_data)  # 转换为元组
print(tuple_data)  # 输出: (1, 2, 3)

6. 元组转列表

tuple_data = (1, 2, 3)
list_data = list(tuple_data)  # 转换为列表
print(list_data)  # 输出: [1, 2, 3]

7. 字符串转字节串

str_data = "hello"
bytes_data = bytes(str_data, 'utf-8')  # 转换为字节串,指定编码为utf-8
print(bytes_data)  # 输出: b'hello'

请注意,不是所有的数据类型都可以直接转换。
例如,你不能直接将一个列表转换为字典,除非你明确指定了如何映射列表的元素到字典的键值对。在某些情况下,你可能需要编写自定义的函数来执行所需的转换。