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 章 文字和位元組序列》。
參考: