Python檔案的副檔名為.py,不同於一般語言使用 { } 來包含程式區塊,Python使用相同縮排距離表示這些程式屬於同一程式區塊,縮排間距的大小並沒有限制,但是不同的程式區塊最少要間距1個空白。以下圖為例,可以看到程式 print(msg) 出現紅色底顯標示錯誤,因為 print(msg) 屬於條件 if 的程式區塊,因此它最少要在 if 命令之後1個空格以上,而所有屬於 if 程式區塊均須有相同的間距,Python程式註解在註解文字前加上 #。
變數用於儲存輸入資料或計算結果,Python變數名稱可由英文字或底線符號(_)開始,同時變數名稱大小寫英文字為不同的變數,不同於強型態語言(所有變數均須事先定義要儲存資料類型),Python變數可以不須事先宣告儲存類型,同時Python變數資料類型也會隨儲存值而改變(如下圖),下圖中 type() 函數用於回傳變數資料類型。雖然Python變數資料類型會隨儲存值而改變,可是使用者還是可以明確設定變數資料類型,如果使用者想要明確設定變數資料類型,可以使用下列的資料類型來定義或進行資料類型轉換(文字性數字轉數字或數字轉文字等)。
Python資料類型包含:文字類型(str)、數字類型(int、float、complex)、順序類型(list、tuple、range)、對應類型(dict)、集合類型(set、frozenset)、布林類型(bool)、二進制類型(bytes、bytearray、memoryview),以下對於各個資料類型進行簡單描述。
str):
設定文字類型變數會將文字字串置於雙引號或單引號內(如下圖),請注意 "123" 為文字 123 ,不可用於數字計算,如需進行數字計算,則須將其資料類型轉為數字資料類型才可以。
int、float、complex):
數字類型用於計算,下圖輸出 int、float、complex 數字類型,其中複數開根號函數(cmath.sqrt()),因為定義於 cmath 模組中,因此必須使用 import 命令匯入 cmath 模組,才能使用 cmath.sqrt() 函數,常用模組會在後續課程說明。
如果使用者對文字性數字進行運算時,Python會顯示顯示錯誤(如下圖),Python + 號除了用於數字計算之外,如果使用對象為文字時, + 號則用於文字合併。當使用者希望將文字性的整數 a 轉換為數字,則可使用資料類型 int 來進行轉換,浮點數與複數的轉換使用 float 與 complex。
南臺科技大學 資訊管理系,請注意兩個字中間要有一個空格。
math 模組,並使用 math.pi 印出半徑 2 的圓面積(圓面積=π x 半徑平方)。
list、tuple、range):
順序類型(list、tuple、range)將一連串的資料值儲存於單一變數中,清單(list)將儲存資料置於方括號([])中,每個值以逗號隔開、元素(tuple)將儲存資料置於小括號(())中,每個值以逗號隔開、範圍(range)則為一整數序列。
清單(list)項目內容可改變,有順序,使用方括號來建立清單,方括號搭配項目參考位置值用於存取清單項目,第一個項目參考位置值為0,清單項目內容值可以不同。
元素(tuple)項目內容於元素建立後不可改變,項目有順序,使用小括號建立元素,方括號搭配項目參考位置值用於存取項目,第一個項目參考位置值為0,元素項目內容值可以不同,如果元素建立後改變內容會產生錯誤。
範圍(range)項目為順序整數值,有順序,內容建立後不可改變,使用 range(起始值,結束值,間距值) 函數來產生範圍項目,使用方括號搭配項目參考位置值來存取項目,如果沒有設定起始值,起始值預設為0,如果沒有設定間距值,間距值預設為1,產生順序整數值由起始值開始,每次增加或減少間距值,一直到結束值為止,但是請注意 range 不會包含結束值,起始值、結束值、間距值均為整數。
dict):
對應類型(dict)將資料定義於大括號({})中,項目資料為許多 項目名稱:項目值 的組合,使用者可使用方括符搭配項目名稱來取得項目值,項目名稱不可重複,項目內容可改變,有順序。
set、frozenset):
集合類型(set)將資料定義於大括號({})中,項目資料不可重複,項目內容可增減,沒有順序(資料位置不代表順序),使用者可以用迴圈搭配運算子 in 來取得或檢查集合項目。集合類型(frozenset)將可循環資料類型(list、tuple、dict、set)轉換為內容不可增減的集合物件。
bytes、bytearray、memoryview):
bytes 為有順序、不可修改,使用方式為(bytes(資料,編碼方式))。中,bytearray 為有順序、可修改,使用方式同 bytes 。memoryview 讓使用者在程式執行過程中可以直接存取 bytes、bytearray 值,加快存取速度。
運算子(operator)用於變數與值的運算,常用運算子包含計算、設定、比較、邏輯、隸屬等,接下來每個類別進行介紹。
+、-、*、/、%、//):
計算運算子 +、-、*、/、%、// ,除了加、減、乘、除之外, % 代表求餘數, // 代表整數除法,也就是小數無條件捨去。
=、+=、-=、*=、/=、%=、//=、**=):
設定運算子 =、+=、-=、*=、/=、%=、//=、**= ,用於變數設定表示,以 x+=5為例,他代表 x=x+5 ,而 ** 代表次方數。
==、!=、>、>=、<、<=):
比較運算子 ==、!=、>、>=、<、<= ,用於條件比較分別為 等於、不等於、大於、大於等於、小於、小於等於。
and、or、not):
邏輯運算子 and、or、not ,用於串接多個條件比較分別為 且、或、否定。
in、not in):
隸屬運算子 in、not in ,用於集合資料類型,判斷是否隸屬於該集合。