Python / 07 Python 中常用的数据类型

Python 中的几种常用数据类型

在 Python 程序中,程序需要处理不同类型的数据,例如:

  • 在数学运算中,需要对数值进行加减乘除等计算。
  • 在文本处理中,需要对文本进行分割、连接等操作。

Python 可以处理 7 种类型的数据:

  1. 数值
  2. 字符串
  3. 布尔值
  4. 列表
  5. 元组
  6. 字典
  7. 集合

本文简略介绍 Python 中每种数据类型的定义和使用场景,使得学习者获得对 Python 的数据类型的整体认识,在后续的小节中详细介绍每种类型的具体使用细节。

1. 数值

数值类型的数据表示整数、浮点数、复数,例如:

  • 整数 123
  • 浮点数 123.456
  • 复数 1 + 2j

数值类型通常用于数值计算的场合,例如:

  1. 整数运算
>>> 1 + 1
2
  1. 浮点数运算
>>> 1.1 + 1.1
2.2
  1. 复数运算
>>> x = 1 + 2j
>>> y = 3 + 4j
>>> x + y
(4 + 6j)

2. 字符串

字符串类型的数据表示一段文本,使用单引号、双引号创建,例如:

  • 单引号字符串 ‘hello’
  • 双引号字符串 “hello”

字符串通常用于文本的连接,例如:

  1. 连接两个字符串,形成一个新的字符串
>>> 'Hello' + 'World'
'HelloWorld'
  1. 连接三个字符串,形成一个新的字符串
>>> 'Hello' + ':' + 'World'
'Hello:World'

3. 布尔值

布尔值类型的数据表示逻辑运算结果,有两种取值:

  • 真,使用 True 关键字表示。
  • 假,使用 False 关键字表示。

布尔值通常用于逻辑运算的场合,例如:

  1. 表示比较运算的结果
>>> 2 > 1
True
>>> 2 < 1
False
  1. 用于条件判断
if 2 > 1:
    print('2 > 1 is True')
else:
    print('2 > 1 is False')
  • 如果 2 > 1 的结果是 True,则执行第 2 行的 print语句
  • 如果 2 > 1 的结果是 False,则执行第 4 行的 print语句

4. 列表

列表是一个有序的序列,列表中所有的元素放在 [] 中间,并用逗号分开,例如:

  • [1, 2, 3],一个包含 3 个整数的列表
  • [‘a’, ‘b’, ‘c’],一个包含 3 个字符串的列表

列表中的元素是顺序排列的,可以通过索引访问列表的元素,例如:

>>> list = [1, 2, 3]
>>> list[0]
1
>>> list[1]
2
>>> list[2]
3
  • 在第 1 行,创建了一个列表。
  • 在第 2 行,通过 list[0],访问列表的第 0 个元素,列表的下标从 0 开始。
  • 在第 4 行,通过 list[1],访问列表的第 1 个元素。
  • 在第 6 行,通过 list[2],访问列表的第 2 个元素。

5. 元组

元组是一个有序的序列,元组中所有的元素放在 () 中间,并用逗号分开,例如:

  • (1, 2, 3),一个包含 3 个整数的元组
  • (‘a’, ‘b’, ‘c’),一个包含 3 个字符串的元组

元组中的元素是顺序排列的,可以通过索引访问元组的元素,例如:

>>> tuple = (1, 2, 3)
>>> tuple[0]
1
>>> tuple[1]
2
>>> tuple[2]
3
  • 在第 1 行,创建了一个元组。
  • 在第 2 行,通过 tuple[0],访问元组的第 0 个元素,元组的下标从 0 开始。
  • 在第 4 行,通过 tuple[1],访问元组的第 1 个元素。
  • 在第 6 行,通过 tuple[2],访问元组的第 2 个元素。

元组与列表的区别在于:列表创建后可以修改,元组创建后不可以修改。

下面的程序首先创建列表 [1, 2, 3],然后修改的第 0 项元素,程序输出表明修改成功了。

>>> list = [1, 2, 3]
>>> list[0] = 11
>>> list
[11, 2, 3]

下面的程序首先创建元组 (1, 2, 3),然后修改的第 0 项元素,程序输出表明修改失败了。在第 6 行打印输出 tuple,发现 tuple 没有发送变化。

>>> tuple = (1, 2, 3)
>>> tuple[0] = 11
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> tuple
(1, 2, 3)

6. 字典

字典由键和对应值成对组成,字典中所有的键值对放在 {} 中间,每一对键值之间用逗号分开,例如:

  • {‘a’:‘A’, ‘b’: ‘B’, ‘c’:‘C’}

    • 字典中包含3个键值对
    • 键 ‘a’ 的值是 ‘A’
    • 键 ‘b’ 的值是 ‘B’
    • 键 ‘c’ 的值是 ‘C’
  • {1:100, 2: 200, 3:300}

    • 字典中包含3个键值对
    • 键 1 的值是 100
    • 键 2 的值是 200
    • 键 3 的值是 300

字典通常用于描述对象的各种属性,例如一本书,有书名、作者名、出版社等各种属性,可以使用字典描述如下:

>>> book = {'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社'}
>>> book['title']
'Python 入门基础'
>>> book['author']
'张三'
>>> book['press']
'机械工业出版社'
  • 在第 1 行,创建了一个字典用于描述一本书
  • 在第 2 行,使用字符串 ‘title’ 作为键(索引)访问字典中对应的值
  • 在第 4 行,使用字符串 ‘author’ 作为键(索引)访问字典中对应的值
  • 在第 6 行,使用字符串 ‘press’ 作为键(索引)访问字典中对应的值

7. 集合

集合是一个无序、不重复的序列,集合中所有的元素放在 {} 中间,并用逗号分开,例如:

  • {1, 2, 3},一个包含 3 个整数的列表
  • {‘a’, ‘b’, ‘c’},一个包含 3 个字符串的列表

集合提供的最基本的操作有:

  1. 使用 in 关键字检查元素是否在集合中
>>> x = {'a', 'b', 'c'}
>>> 'b' in x
True
>>> 'd' in x
False
  • 在第 1 行,创建了一个包含 3 个字符串的集合。
  • 在第 2 行,检测字符串 ‘b’ 是否在集合中;第 3 行显示结果为 True。
  • 在第 4 行,检测字符串 ‘d’ 是否在集合中;第 5 行显示结果为 False。
  1. 向集合中增加元素
>>> x = {'a', 'b', 'c'}
>>> x.add('d')
>>> x
{'a', 'b', 'c', 'd'}
  • 在第 1 行,创建了一个包含 3 个字符串的集合 x
  • 在第 2 行,向集合 x 增加一个元素 ‘d’
  • 在第 3 行,打印集合 x,结果表明集合中新增了一个元素
  1. 从集合中删除元素
>>> x = {'a', 'b', 'c'}
>>> x.remove('c')
>>> x
{'a', 'b'}
  • 在第 1 行,创建了一个包含 3 个字符串的集合 x
  • 在第 2 行,从集合 x 删除一个元素 ‘c’
  • 在第 3 行,打印集合 x,结果表明集合中删除了一个元素

8. 小结

本文中简略介绍了 Python 中支持的 7 种数据类型。它们按照自身是否可以进行修改的特性可以分为两种:

  • 可变数据类型:列表、字典、集合
  • 不可变数据类型:数值,字符串、布尔值、元组

并且简单介绍了这些数据类型的基本使用。