4 基本資料類型

暸解可以運用的資料類型是學習一個程式語言的基本功(其他像是之後章節會涵蓋的資料容器,流程控制或者迭代語法也歸類於基本功),它的枯燥無味常讓初學者感到索然無味,但是它對未來應用的重要性絕對無庸置疑,我們用一張表格整理 Python 的基本資料類型:

基本資料類型 基本資料類型英文 範例
整數 int 87
浮點數 float 8.7
文字 str "Hello Py"
布林 bool TrueFalse

4.1 整數與浮點數

簡單的應用就是將 Python 當作計算機對整數(int)與浮點數(float)進行數學運算,常用的運算符號有:

運算符號 作用
+
-
*
/
** 次方
% 回傳餘數
// 回傳商數
print(8 + 7)
## 15
print(8 - 7)
## 1
print(8 * 7)
## 56
print(8 / 7)
## 1
print(8 ** 2)
## 64
print(8 % 5)
## 3
print(8 // 5)
## 1

4.2 文字

我們可以使用單引號(')或雙引號(")來建立文字(str),假如我們希望在文字中納入單引號或雙引號,可以搭配使用斜線(\)進行跳脫。

luke = "Luke Skywalker"
luke = 'Luke Skywalker'
oneal = "Shaquille O'neal"
oneal = 'Shaquille O\'neal'

4.2.1 .format 方法

字串也能夠進行格式化,只要使用 format() 方法:

oneal = "Shaquille O'neal"
"{} is one of the greatest center in NBA history.".format(oneal)
oneal = "Shaquille O'neal"
steve = "Steve Nash"
"{} is one of the greatest center in NBA history, while {} is one of the greatest point guard.".format(oneal, steve)

4.2.2 input 函數

使用 input() 函數可以獲取使用者的輸入,以文字型別存在。

lucky_number = input("請輸入你的幸運數字:")
print("我的幸運數字是 {}.format(lucky_number)")

4.3 布林

當我們需要進行條件判斷的時候就需要仰賴布林(bool),布林只有 TrueFalse 這兩個值。這裡值得注意的觀念是,Python 是對大小寫敏感(case-sensitive)的程式語言,我們輸入 True 會被成功識別為布林,但是 TRUE 則不會被識別成功喔!

print(True)
print(TRUE)

除了直接輸入布林,我們也可以藉由判斷運算符號進行條件判斷得到布林的輸出,常用的判斷運算符號有:

判斷運算符號 作用
== 是否等於
!= 是否不等於
> 是否大於
< 是否小於
>= 是否大於等於
<= 是否小於等於

4.4 邏輯運算符號

進行條件判斷的時候我們常常會需要連結多個條件,這時我們就可以使用邏輯運算符號來將條件連結起來,其中 and 也可以用 & 符號代替、or 也可以用 | 符號代替:

邏輯運算符號 作用
and 判斷兩側的條件是否都為 True
or 判斷兩側的條件是否至少有一側為 True
not 將布林的 TrueFalse 反轉
print(True and True)
## True
print(True and False)
## False
print(False and False)
## False
print("---")
## ---
print(True or True)
## True
print(True or False)
## True
print(False or False)
## False
print("---")
## ---
print(not True)
## False
print(not False)
## True

4.5 資料類型的轉換

不同的資料類型並不是壁壘分明、井水不犯河水的關係,我們也能使用函數進行資料類型的轉換,Python 中轉換資料類型的函數名稱跟資料類型是相互對應的,比如使用 int() 函數可以將輸入的物件轉換成為整數類型:

轉換資料類型的函數 描述
int() 轉換資料類型為 int
float() 轉換資料類型為 float
bool() 轉換資料類型為 bool
str() 轉換資料類型為 str
print(int(True))
## 1
print(float(True))
## 1.0
print(str(True))
## True