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
,用於集合資料類型,判斷是否隸屬於該集合。