Python 入門指南 5.0
基礎學習篇
本書的第一部分為基礎學習篇
基礎學習篇的學習目標如下
- 認識 Python
- 怎麼處理資料
- 控制結構
- 例外處理
- 模組化
- 物件導向
- 程式文件
分成以下二十一個單元來講解
- 單元 1 - 認識 Python 語言
- 單元 2 - 如何執行 Python 程式
- 單元 3 - 資料型態與變數
- 單元 4 - 變數命名規則與縮排
- 單元 5 - 運算式與陳述
- 單元 6 - 選擇
- 單元 7 - 迴圈
- 單元 8 - 例外處理
- 單元 9 - 序列、字典與集合
- 單元 10 - 函數
- 單元 11 - 進一步講指派與相等運算
- 單元 12 - 類別
- 單元 13 - 資料類別、 __init__() 方法與封裝
- 單元 14 - 資料模型、特別屬性與迭代器
- 單元 15 - 繼承與多型
- 單元 16 - 靜態方法與抽象方法
- 單元 17 - 型態標記與檢查資料型態
- 單元 18 - 模組與套件
- 單元 19 - 作用域問題
- 單元 20 - 文件字串
- 單元 21 - 非同步程式設計與認識標準程式庫
其中單元 1 到 2 為介紹「認識 Python」,單元 1 先用簡單的 Python 程式 demo.py 認識 Python 程式 (program) 的樣貌、寫程式的工具等等,單元 2 則是認識如何執行 Python 程式。
單元 3 到 5 為介紹「怎麼處理資料」,寫程式的主要目的就是為了處理資料 (data) ,單元 3 先認識資料的型態 (type) ,因為每一種資料都有專屬的型態,然後跟數學一樣,程式是把資料用變數 (variable) 代為處理,單元 4 就講到變數命名規則以及 Python 中最基本的縮排 (indentation) ,單元 5 講到程式執行最基本的單位,也就是陳述 (statement) ,然後運算式 (expression) 則是最簡單的陳述。
單元 6 到 8 為介紹「控制結構」及「例外處理」,控制結構 (control structure) 為現代程式語言 (programming language) 採用的結構化程式設計方式,主要有兩種,其一為選擇結構 (selection) ,這是單元 6 的主題, Python 有 if-elif-else 及 match-case 兩種選擇結構,其二為迴圈 (loop) ,這是單元 7 的主題,分為兩類,第一類用於複合資料型態 的 for ,第二類則是需要自行決定結束條件 (condition) 的 while 。
單元 8 的主題為例外處理 (exception handling) ,所謂例外 (exception) 是可預期的錯誤,可預期的錯誤像是存檔但是檔案不存在,或是網址沒有回應等等, Python 用 try-except-finally 進行例外處理。
單元 9 到 11 與 18 為介紹「模組化」,模組化 (modular design) 也就是怎麼樣重複利用程式碼,這裡介紹的是模組化的初步議題,單元 9 先認識 Python 內建的資料結構 (data structure) 序列 (sequence) 、字典 (dictionary) 與集合 (set) ,資料結構也就是資料在電腦中儲存的方式,單元 10 介紹怎麼定義函數 (function) ,因為呼叫函數就可以執行已經定義好的的程式功能。
單元 11 認識資料結構中的可變 (mutable) 與不可變 (immutable) ,可變是指資料結構中可以改變內容,不可變就是不能改變內容。單元 18 則是介紹如何定義 Python 的模組 (module) 與套件 (package) ,其實一個 Python 檔案也就是一個模組,模組中可以定義任何可以重複利用的程式功能,套件則是 Python 組織程式庫的方式。
單元 12 到 16 為介紹「物件導向」,物件導向程式設計 (object-oriented programming) 是模組化的進一步, Python 中所有東西都是物件 (object) ,物件用類別 (class) 定義,單元 12 先認識類別定義,單元 13 進一步認識物件導向與認識物件建立過程中執行的 __init__() 方法 (method) ,單元 14 介紹 Python 的資料模型 (data model) ,單元 15 介紹繼承 (inheritance) 與多型 (polymorphism) ,單元 16 介紹類別中特別的靜態方法 (static method) 與抽象方法 (abstract method) 。
單元 17 介紹「型態標記 (type hint) 」與如何在函數中檢查型態是否與標記相符,這是因為 Python 是弱型態 (weakly typed) 的程式語言,如果程式中需要做確認型態的工作,就必須由自己來寫。
單元 19 介紹程式中「作用域 (scope) 問題」,也就是討論變數的效力範圍。單元 20 為介紹「程式文件」,早期的程式語言多半是在程式碼的範圍外寫程式文件, Python 則是可以直接將文件寫在程式碼中,程式文件的目的是讓程式碼直接能查詢,換句話說,文件直接包含在程式碼之中。
單元 21 介紹標準程式庫 (standard library) 與「非同步」程式設計, Python 的標準程式庫中有非常多已經定義好的功能,這些功能都能直接在自己寫的程式中直接套用,其中非同步程式設計 (asynchronous programming) 的功能就需要引入標準程式庫中的相關模組。
中英文術語對照 | |
---|---|
抽象方法 | abstract method |
非同步程式設計 | asynchronous programming |
類別 | class |
條件 | condition |
控制結構 | control structure |
資料 | data |
資料模型 | data model |
資料結構 | data structure |
字典 | dictionary |
例外 | exception |
例外處理 | exception handling |
運算式 | expression |
函數 | function |
不可變 | immutable |
縮排 | indentation |
繼承 | inheritance |
迴圈 | loop |
方法 | method |
模組化 | modular design |
模組 | module |
可變 | mutable |
物件 | object |
物件導向程式設計 | object-oriented programming |
套件 | package |
多型 | polymorphism |
程式 | program |
程式語言 | programming language |
作用域 | scope |
選擇結構 | selection |
序列 | sequence |
標準程式庫 | standard library |
陳述 | statement |
靜態方法 | static method |
型態 | type |
型態標記 | type hint |
弱型態 | weakly typed |
變數 | variable |