你知道Python基本資料型別是哪6個麼

dongfanger發表於2020-12-08

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(列表)

列表是由多個資料組成的,列表中的資料型別可以不同。它是用中括號 [] 括起來的,格式和索引如下:

image-20201204125854743

跟字串一樣,列表也可以使用 + 來合併列表,使用 * 來重複元素,使用 變數[頭下標:尾下標] 來擷取子列表。

除此之外,列表使用 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 章 文字和位元組序列》。

參考:

https://www.runoob.com/python3/python3-data-type.html

相關文章