[Python初學者] Data Types 資料類型
資料類型在Python中很重要,不同資料類型的數據,執行方式會不一樣。因此,當需要做演算時,必須先瞭解資料的類型。
資料類型有哪些呢?
名稱 | 類型 | |
1 | 文字(Text Type) | 字串(str) |
2 | 數值(Numeric Types) | 整數(int) 浮點數(float) 複數(complex) |
3 | 序列(Sequence Types) | 表(list) 定值表(tuple) 範圍(range) |
4 | 映射(Mapping Type) | 字典(dict) |
5 | 集合(Set Types) | 可變集合(set) 不可變集合(frozenset) |
6 | 布林(Boolean Type) | 布林(bool) |
7 | 二進制(Binary Types) | 不可變字節(bytes) 可變字節(bytearray) 記憶體視圖(memoryview) |
註:因 frozenset、bytes、bytearray、memoryview 比較少用,所以檸檬媽就不在此篇贅言了。
1. 文字(Text Type)
-
字串(str):
此為 string ,即一串文字字元。為不可變(immutable)類型。
x = "Hello Oceane"
又或者
x = str("a1")
print(x)
a1
# str(“”):若str 後面小括弧內不是數字,則需要加「雙引號」,代表字串。x = str(“a1”),則 x 為 ‘ a1 ‘。
又或者
y = str(5)
print(y)
5
# y = str( 5 ),則 y 為 ‘ 5 ‘。
又或者
z = str(6.0)
print(z)
6.0
# z = str( 6.0 ),則 z 為 ‘ 6.0 ‘。
更多 String 內容,請參考:[Python初學者] 10種 Strings 字串用法 https://myoceane.fr/index.php/python-strings/
2. 數值(Numeric Types)
-
整數(int):
即完整的數字,正數或是負數。沒有小數點且長度不限。
x = 10
又或者
x = int(5)
print(x)
5
# x = int(5),則 x 為 5 。
又或者
y = int(3.8)
print(y)
3
# y = int(3.8),則 x 為 3(小數點後無條件捨去) 。
又或者
z = int("6")
print(z)
6
# z = int( “6” ),即使加了雙引號,z 結果仍為 6。
-
浮點數(float):
包含小數點的正數或是負數。
x = 10.5
又或者
x = float(5)
print(x)
5.0
# x = float(5),則 x 為 5.0(浮點數會在整數後加小數點一位)。
又或者
y = float(3.8)
print(y)
3.8
# y = float(3.8),則 x 為 3.8 。
又或者
z = float("6")
print(z)
6.0
# z = int( “6” ),即使加了雙引號,z 結果為 6.0。
-
複數(complex):
用 ” j ” 作為虛部編號 。 j 代表數字:根號負 1 。
x = 3.15j
x*x
(-9.9225+0j)
例如:x2 = ( 3.15j )2 = ( 3,15 )2 x ( 根號負1 )2 = 9.9225 x -1 = – 9.9225
3. 序列(Sequence Types)
-
表(list):
利用方括號( [ ] )和逗號( , )建構list。為可變(mutable)類型。常用來做相同類型(同質)元素的序列集合。表可以是數字、文字等等。
x = ["notre", "petite", "Oceane", "Oceane", "Oceane"]
print(x)
['notre', 'petite', 'Oceane', 'Oceane', 'Oceane']
# x 可以為文字
又或者
x = [1, 2, 3, 4, 5, 6, 6, 6, 6]
sum(x)
39
# x 為數字,可以做運算。例如將 x 裡面的數值加總,得到結果 39。
-
定值表(tuple):
利用小括弧( () ),為不可變(immutable)類型。常用來做不同類型(異質)元素的序列集合。
只能用 1) 計數 count 和 2) 索引 index 功能。
例一:
用於 1) 計數 count:
t = (0, 1, 2, 1, 100, 1, 1, 1, 1, 1, 1)
t.count(1)
8
# 計算 t ( tuple ) 裡面有多少個數字 1:共有 8 個。
用於 2) 索引 index:
t.index(100)
4
# 查找 t (tuple) 裡面 100 位於哪個位置:第 4 個位置。
例二:
t1 = ("Oceane", 1, "Paris", "France")
t2 = ("Natalie", 22, "Taipei", "Taiwan")
for i in [t1, t2]:
print(i[0])
Oceane
Natalie
如:t1 = (“Oceane”, 1, “Paris”, “France”),其位置為: (位置0, 位置1, 位置2, 位置3)
# 用 for 做迴圈(需要以 list 的中括號呈現),
用 i 帶 t1 -> print 結果 i [0] ( 位置0 ):結果為 Oceane
用 i 帶 t2 -> print 結果 i [0] ( 位置0 ):結果為 Natalie
又如:
for i in [t1, t2]:
print(i[2])
Paris
Taipei
# 用 for 做迴圈,
用 i 帶 t1 -> print 結果 i [2] ( 位置2 ):結果為 Paris
用 i 帶 t2 -> print 結果 i [2] ( 位置2 ):結果為 Taipei
-
範圍(range):
是一個數字的序列(a sequence of numbers),為不可變(immutable)類型。同常用在 for 循環中。從0開始至填入的數值為止。
例一:r = range(10)
r = range(10)
for i in r:
print(i)
0
1
2
3
4
5
6
7
8
9
# range(10):代表從 0 開始至 10 之前的數字:0、1、2、3、4、5、6、7、8、9。
例二:r = range(start, stop),如 x = range(1, 5)
r = range(1,5)
for i in r:
print(i)
1
2
3
4
# range(1, 5) :表示從 1 開始到 5 之前的所有數字:1、2、3、4。
例三:r = range(start, stop, step),如 r = range(1, 50, 10)
r = range(1, 50, 10)
for i in r:
print(i)
1
11
21
31
41
# range(1, 50, 10) 表示從 1 開始到 50 之前,間隔 10 的所有數字:1、11、21、31、41。
4. 映射(Mapping Type)
-
字典(dict):
利用大括弧( {} ),用來建立 Key 和 Value 之間的關係。
person1 = {"name" : "Oceane", "age" : 1, "city" : "Paris", "country" : "France"}
person2 = {"age" : 22, "name" : "Natalie", "country" : "Taiwan", "city" : "Taipei"}
person1["name"]
'Oceane'
# 例如建立字典 person 1 和 person 2 的基本資料。因為有給 Key 和 Value,因此順序不同也可以。在查找 person 1 的 “name”,則得到 Oceane。
print(person1["country"])
print(person2["country"])
France
Taiwan
# 也可以 print 兩個 Key 查找他們的 Value。
for i in [person1, person2]:
print(i["country"])
France
Taiwan
# 又或者,假如都要呈現 “country” 的結果,則可以使用 for 做迴圈。
用 i 帶 person1 -> print 結果 i [“country”] :結果為 France
用 i 帶 person2 -> print 結果 i [“country”]:結果為 Taiwan
5. 集合(Set Type)
-
可變集合(set):
利用大括弧( {} )。和 List (資料可以重複)概念相似,只是 set 裡面的資料不可以重複。
- 如 List :利用中括弧( [] ),資料可以重複
x = [“notre”, “petite”, “Oceane”, “Oceane”, “Oceane”]
結果為:[‘notre’, ‘petite’, ‘Oceane’, ‘Oceane’, ‘Oceane’]
- 如 List :利用中括弧( [] ),資料可以重複
-
- 如 set :利用大括弧( {} ),資料不能重複
x = {“notre”, “petite”, “Oceane”, “Oceane”, “Oceane”}。
結果為:{‘notre’, ‘petite’, ‘Oceane’}
- 如 set :利用大括弧( {} ),資料不能重複
x = {"notre", "petite", "Oceane", "Oceane", "Oceane"}
print(x)
{'notre', 'petite', 'Oceane'}
# x 可以為文字,而重複的 Oceane 則被捨棄。
又或者:
x = {1, 2, 3, 4, 5, 6, 6, 6, 6}
sum(x)
21
print(x)
{1, 2, 3, 4, 5, 6}
# x 為一串數字,加總之後,重複的 6 被捨棄,因此加總結果為 21 。將 x print 出來,則可以發現此結果為 1 + 2 + 3 + 4 + 5 + 6 = 21。即重複的 6 不在加總範圍之內。
6. 布林(Boolean Type)
即 True 和 False。
a = 1 > 2
print(a)
False
# a 為 1 > 2,這件事為假,因此結果出現 False。
又或者:
a = "Natalie" == "Oceane"
print(a)
False
# a 為 Natalie 等於(用兩個 “等於” 代表) Oceane,這件事為假,因此結果出現 False。
又或者:
a = "Natalie" != "Oceane"
print(a)
True
# a 為 Natalie 不等於(用ㄧ個 “驚嘆號” 和 “等於” 代表) Oceane,這件事為真,因此結果出現 True。
One thought on “[Python初學者] Data Types 資料類型”