Python 是強類型語言,在學習 Python 時,有必要了解 Python 有哪些基本數據類型,一共 6 個:Number(數字)、String(字符串)、List(列表)、Tuple(元組)、Set(集合)、Dictionary(字典)。數據類型的知識是非常多的,一篇文章講不明白,本文仍然屬於入門系列,內容主要是基礎簡介。
更深層次的知識會在進階篇再做剖析。進階篇計划 2021 年 1 月份公眾號改名后開始更新哦。
賦值即用的變量
不像其他語言,變量必須先聲明了才能使用,Python 的變量不需要聲明,直接賦值就可以用了,而且必須賦值才能用哦,賦值后變量才會被創建。例如:
counter = 100 # 整型變量
miles = 1000.0 # 浮點型變量
name = "runoob" # 字符串
如果有多個變量,可以在一條語句中一起賦值,例如:
a = b = c = 1
或者:
a, b, c = 1, 2, "runoob"
a 的值為 1,b 的值為 2,c 的值為 "runoob"。
Number(數字)
數字包括 int、float、bool、complex。
int
整型,例如:
a = 1
b = 2
float
浮點數,也就是小數,例如:
a = 1.2
b = 3.4
bool
布爾值,只有 True 和 False 2個值。
complex
復數,例如:
a = 3.14j
b = 3e+26j
String(字符串)
用單引號、多引號或三引號框起來的就是字符串,例如:
a = 'hello'
a = "hello"
a = """hello"""
可以使用 +
把多個字符串拼接在一起:
a = "Hello" + "World"
也可以使用 *
來重復:
a = "x" * 3 # 值為xxx
可以通過 變量[頭下標:尾下標]
來截取部分字符串,正數表示從左邊起,以 0 開始。負數表示從右邊起,以 -1 開始。例如:
a = "qwert"
b = a[0:2] # qw
c = a[2:] # ert
d = a[-2:-1] # r 倒數第二個字符
e = a[-1:] # t 最后一個字符
List(列表)
列表是由多個數據組成的,列表中的數據類型可以不同。它是用中括號 []
括起來的,格式和索引如下:

跟字符串一樣,列表也可以使用 +
來合並列表,使用 *
來重復元素,使用 變量[頭下標:尾下標]
來截取子列表。
除此之外,列表使用 append()
函數來添加元素:
b = []
b.append(4)
b.append(5) # b 的值為 [4, 5]
使用 for ... in ...
來遍歷:
a = [1, 2, 3]
for i in a:
print(i)
Tuple(元組)
元組和列表類似,區別在於元組是使用小括號 ()
括起來的,並且元組不能修改。例如:
tup1 = () # 空元組
tup2 = (20,) # 一個元素,需要在元素后添加逗號
tup3 = (1, 2, 3)
Set(集合)
集合和列表類似,區別在於集合的數據不能重復,所以常用來刪除重復元素和做集合運算。例如:
sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
# {'Zhihu', 'Baidu', 'Taobao', 'Runoob', 'Google', 'Facebook'}
print(sites) # 輸出集合,重復的元素被自動去掉
集合運算:
# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
# {'r', 'b', 'd'}
print(a - b) # a 和 b 的差集
# {'b', 'c', 'a', 'z', 'm', 'r', 'l', 'd'}
print(a | b) # a 和 b 的並集
# {'c', 'a'}
print(a & b) # a 和 b 的交集
# {'z', 'b', 'm', 'r', 'l', 'd'}
print(a ^ b) # a 和 b 中不同時存在的元素
Dictionary(字典)
字典也是由多個數據組成的,是用花括號 {}
框起來的,鍵(key) : 值(value) 形式的數據。例如:
a = {} # 創建空字典
b = dict() # 創建空字典
c = {"x": 1, "y": 2} # 創建字典同時賦值
c["z"] = 3 # 使用中括號[]添加
print(c["x"]) # 使用中括號[]根據key查詢value
字典的遍歷需要同時使用 for ... in ...
和 items() 函數:
a = {"x": 1, "y": 2}
for k, v in a.items():
print(k, v)
數據類型轉換
不同數據類型是可以相互轉換的,以下是用於轉換的函數:
函數 | 描述 |
---|---|
int(x) | 將x轉換為一個整數 |
float(x) | 將x轉換到一個浮點數 |
complex(real [,imag]) | 創建一個復數 |
str(x) | 將對象 x 轉換為字符串 |
tuple(s) | 將序列 s 轉換為一個元組 |
list(s) | 將序列 s 轉換為一個列表 |
set(s) | 轉換為可變集合 |
dict(d) | 創建一個字典。d 必須是一個 (key, value)元組序列。 |
簡單的轉換使用單個函數即可,但有時候我們會需要寫點代碼來實現特定的數據類型轉換。比如把 2 個列表,轉換為字典,一個列表作為 key,一個列表作為 value:
a = ["q", "w", "e"]
b = [1, 2, 3]
d = dict(zip(a, b)) # {'q': 1, 'w': 2, 'e': 3}
小結
本文簡要介紹了 Python 6 個基本數據類型的知識,點到為止。看到這篇文章的朋友可能會有疑問,入門系列文章的內容是如何界定的?我對入門系列的定位是前菜,先墊墊肚子,了解 Python 的基本知識。等到正餐硬菜上來的時候,不會無從下咽,不會慌不擇食,不會有閱讀門檻。我認為入門就應該簡單點,不然要淺不淺,要深不深,不懂的人看着懵,懂的人看着這也沒講那也沒講。我寫一下《流暢的 Python》前 4 章的標題,可以先感受一下,《第 1 章 Python 數據模型》、《第 2 章 序列構成的數組》、《第 3 章 字典和集合》、《第 4 章 文本和字節序列》。
參考: