Python 中的幾種常用數(shù)據(jù)類型
在 Python 程序中,程序需要處理不同類型的數(shù)據(jù),例如:
- 在數(shù)學(xué)運(yùn)算中,需要對(duì)數(shù)值進(jìn)行加減乘除等計(jì)算。
- 在文本處理中,需要對(duì)文本進(jìn)行分割、連接等操作。
Python 可以處理 7 種類型的數(shù)據(jù):
- 數(shù)值
- 字符串
- 布爾值
- 列表
- 元組
- 字典
- 集合
本文簡(jiǎn)略介紹 Python 中每種數(shù)據(jù)類型的定義和使用場(chǎng)景,使得學(xué)習(xí)者獲得對(duì) Python 的數(shù)據(jù)類型的整體認(rèn)識(shí),在后續(xù)的小節(jié)中詳細(xì)介紹每種類型的具體使用細(xì)節(jié)。
1. 數(shù)值
數(shù)值類型的數(shù)據(jù)表示整數(shù)、浮點(diǎn)數(shù)、復(fù)數(shù),例如:
- 整數(shù) 123
- 浮點(diǎn)數(shù) 123.456
- 復(fù)數(shù) 1 + 2j
數(shù)值類型通常用于數(shù)值計(jì)算的場(chǎng)合,例如:
- 整數(shù)運(yùn)算
>>> 1 + 1
2
- 浮點(diǎn)數(shù)運(yùn)算
>>> 1.1 + 1.1
2.2
- 復(fù)數(shù)運(yùn)算
>>> x = 1 + 2j
>>> y = 3 + 4j
>>> x + y
(4 + 6j)
2. 字符串
字符串類型的數(shù)據(jù)表示一段文本,使用單引號(hào)、雙引號(hào)創(chuàng)建,例如:
- 單引號(hào)字符串 ‘hello’
- 雙引號(hào)字符串 “hello”
字符串通常用于文本的連接,例如:
- 連接兩個(gè)字符串,形成一個(gè)新的字符串
>>> 'Hello' + 'World'
'HelloWorld'
- 連接三個(gè)字符串,形成一個(gè)新的字符串
>>> 'Hello' + ':' + 'World'
'Hello:World'
3. 布爾值
布爾值類型的數(shù)據(jù)表示邏輯運(yùn)算結(jié)果,有兩種取值:
- 真,使用 True 關(guān)鍵字表示。
- 假,使用 False 關(guān)鍵字表示。
布爾值通常用于邏輯運(yùn)算的場(chǎng)合,例如:
- 表示比較運(yùn)算的結(jié)果
>>> 2 > 1
True
>>> 2 < 1
False
- 用于條件判斷
if 2 > 1:
print('2 > 1 is True')
else:
print('2 > 1 is False')
- 如果 2 > 1 的結(jié)果是 True,則執(zhí)行第 2 行的 print語句
- 如果 2 > 1 的結(jié)果是 False,則執(zhí)行第 4 行的 print語句
4. 列表
列表是一個(gè)有序的序列,列表中所有的元素放在 [] 中間,并用逗號(hào)分開,例如:
- [1, 2, 3],一個(gè)包含 3 個(gè)整數(shù)的列表
- [‘a(chǎn)’, ‘b’, ‘c’],一個(gè)包含 3 個(gè)字符串的列表
列表中的元素是順序排列的,可以通過索引訪問列表的元素,例如:
>>> list = [1, 2, 3]
>>> list[0]
1
>>> list[1]
2
>>> list[2]
3
- 在第 1 行,創(chuàng)建了一個(gè)列表。
- 在第 2 行,通過 list[0],訪問列表的第 0 個(gè)元素,列表的下標(biāo)從 0 開始。
- 在第 4 行,通過 list[1],訪問列表的第 1 個(gè)元素。
- 在第 6 行,通過 list[2],訪問列表的第 2 個(gè)元素。
5. 元組
元組是一個(gè)有序的序列,元組中所有的元素放在 () 中間,并用逗號(hào)分開,例如:
- (1, 2, 3),一個(gè)包含 3 個(gè)整數(shù)的元組
- (‘a(chǎn)’, ‘b’, ‘c’),一個(gè)包含 3 個(gè)字符串的元組
元組中的元素是順序排列的,可以通過索引訪問元組的元素,例如:
>>> tuple = (1, 2, 3)
>>> tuple[0]
1
>>> tuple[1]
2
>>> tuple[2]
3
- 在第 1 行,創(chuàng)建了一個(gè)元組。
- 在第 2 行,通過 tuple[0],訪問元組的第 0 個(gè)元素,元組的下標(biāo)從 0 開始。
- 在第 4 行,通過 tuple[1],訪問元組的第 1 個(gè)元素。
- 在第 6 行,通過 tuple[2],訪問元組的第 2 個(gè)元素。
元組與列表的區(qū)別在于:列表創(chuàng)建后可以修改,元組創(chuàng)建后不可以修改。
下面的程序首先創(chuàng)建列表 [1, 2, 3],然后修改的第 0 項(xiàng)元素,程序輸出表明修改成功了。
>>> list = [1, 2, 3]
>>> list[0] = 11
>>> list
[11, 2, 3]
下面的程序首先創(chuàng)建元組 (1, 2, 3),然后修改的第 0 項(xiàng)元素,程序輸出表明修改失敗了。在第 6 行打印輸出 tuple,發(fā)現(xiàn) tuple 沒有發(fā)送變化。
>>> 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. 字典
字典由鍵和對(duì)應(yīng)值成對(duì)組成,字典中所有的鍵值對(duì)放在 {} 中間,每一對(duì)鍵值之間用逗號(hào)分開,例如:
-
{‘a(chǎn)’:‘A’, ‘b’: ‘B’, ‘c’:‘C’}
- 字典中包含3個(gè)鍵值對(duì)
- 鍵 ‘a(chǎn)’ 的值是 ‘A’
- 鍵 ‘b’ 的值是 ‘B’
- 鍵 ‘c’ 的值是 ‘C’
-
{1:100, 2: 200, 3:300}
- 字典中包含3個(gè)鍵值對(duì)
- 鍵 1 的值是 100
- 鍵 2 的值是 200
- 鍵 3 的值是 300
字典通常用于描述對(duì)象的各種屬性,例如一本書,有書名、作者名、出版社等各種屬性,可以使用字典描述如下:
>>> book = {'title': 'Python 入門基礎(chǔ)', 'author': '張三', 'press': '機(jī)械工業(yè)出版社'}
>>> book['title']
'Python 入門基礎(chǔ)'
>>> book['author']
'張三'
>>> book['press']
'機(jī)械工業(yè)出版社'
- 在第 1 行,創(chuàng)建了一個(gè)字典用于描述一本書
- 在第 2 行,使用字符串 ‘title’ 作為鍵(索引)訪問字典中對(duì)應(yīng)的值
- 在第 4 行,使用字符串 ‘a(chǎn)uthor’ 作為鍵(索引)訪問字典中對(duì)應(yīng)的值
- 在第 6 行,使用字符串 ‘press’ 作為鍵(索引)訪問字典中對(duì)應(yīng)的值
7. 集合
集合是一個(gè)無序、不重復(fù)的序列,集合中所有的元素放在 {} 中間,并用逗號(hào)分開,例如:
- {1, 2, 3},一個(gè)包含 3 個(gè)整數(shù)的列表
- {‘a(chǎn)’, ‘b’, ‘c’},一個(gè)包含 3 個(gè)字符串的列表
集合提供的最基本的操作有:
- 使用 in 關(guān)鍵字檢查元素是否在集合中
>>> x = {'a', 'b', 'c'}
>>> 'b' in x
True
>>> 'd' in x
False
- 在第 1 行,創(chuàng)建了一個(gè)包含 3 個(gè)字符串的集合。
- 在第 2 行,檢測(cè)字符串 ‘b’ 是否在集合中;第 3 行顯示結(jié)果為 True。
- 在第 4 行,檢測(cè)字符串 ‘d’ 是否在集合中;第 5 行顯示結(jié)果為 False。
- 向集合中增加元素
>>> x = {'a', 'b', 'c'}
>>> x.add('d')
>>> x
{'a', 'b', 'c', 'd'}
- 在第 1 行,創(chuàng)建了一個(gè)包含 3 個(gè)字符串的集合 x
- 在第 2 行,向集合 x 增加一個(gè)元素 ‘d’
- 在第 3 行,打印集合 x,結(jié)果表明集合中新增了一個(gè)元素
- 從集合中刪除元素
>>> x = {'a', 'b', 'c'}
>>> x.remove('c')
>>> x
{'a', 'b'}
- 在第 1 行,創(chuàng)建了一個(gè)包含 3 個(gè)字符串的集合 x
- 在第 2 行,從集合 x 刪除一個(gè)元素 ‘c’
- 在第 3 行,打印集合 x,結(jié)果表明集合中刪除了一個(gè)元素
8. 小結(jié)
本文中簡(jiǎn)略介紹了 Python 中支持的 7 種數(shù)據(jù)類型。它們按照自身是否可以進(jìn)行修改的特性可以分為兩種:
- 可變數(shù)據(jù)類型:列表、字典、集合
- 不可變數(shù)據(jù)類型:數(shù)值,字符串、布爾值、元組
并且簡(jiǎn)單介紹了這些數(shù)據(jù)類型的基本使用。