※本修訂版修正第三版中出現的錯字。
學習一個程式語言,Python 的簡潔、明瞭能讓初學者快速上手。一個簡單的,雖然 Python IDLE 環境很陽春,但有不錯的除錯功能,而附帶的 Visual Studio Code 可以讓我們在學習中擁有意外之喜。簡單的敘述可以在 Python Shell 這個互動交談模式獲得解答。除了 Python 的內建模組,也一起認識第三方套件的詞雲、Pyinstaller。由於 Python 能討論的內容非常豐富,本書僅能就初學者讓大家認識 Python 語言的魅力,透過本書做通盤性認識,全書重要主題如下:
•Python 異想世界
•Python 基本語法
•運算子與條件選擇
•廻圈控制
•序列型別和字串
•Tuple 和 List
•字典、集合、函式
•模組與函式庫
•物件導向基礎
•淺談繼承機制
•異常處理機制
•資料流與檔案
•GUI 介面
•繪圖與影像
期能把握住最嚴謹的態度,輔以最淺白的表達方式,讓每位讀者在期間充滿樂趣,降低閱讀壓力。筆者深信本書能讓初習者在走過 Python 語言學習之旅,拓展思考性,在程式語言世界悠遊自在。
本書特色
簡潔的程式語言,由認識 Python 的基本語言,理論與實作並行
每個章節有豐富的範例,配合 Python Shell 的互動交談,更能更心應手
手把手導引,由函式出發,並學習物件導向的封裝、繼承和多型三大技術
課後評量思考操作並兼,追蹤學習成效
目錄
第1章 Python 異想世界
1.1 一起準備 Python 吧
1.1.1 Python 有什麼魅力
1.1.2 安裝 Python
1.1.3 測試 Python 軟體
1.1.4 Python 的應用範圍
1.2 Python 的開發工具
1.2.1 有那些 IDE 軟體?
1.2.2 CPython 有什麼?
1.2.3 Python Shell
1.2.4 IDLE 的環境設定
1.3 使用 Visual Studio Code
1.3.1 下載、安裝 VS Code
1.3.2 啟動 VS Code
1.3.3 VS Code 延伸模組
1.4 Python 撰寫風格
1.4.1 Hello World! 就是這麼簡單
1.4.2 程式的縮排和註解
1.4.3 敘述的分行和合併
1.4.4 程式的輸入和輸出
第2章 Python 基本語法
2.1 變數
2.1.1 識別字的命名規則
2.1.2 保留字和關鍵字
2.1.3 指派變數值
2.2 Python 的數值型別
2.2.1 以 type() 函式回傳型別
2.2.2 整數型別
2.2.3 布林值
2.3 Python 如何處理實數
2.3.1 使用 Float 型別
2.3.2 複數型別
2.3.3 更精確的 Decimal 型別
2.3.4 番外 - 有理數
2.4 數學運算與 math 模組
2.4.1 認識 math 模組
2.4.2 算術運算子
2.4.3 做四則運算
2.4.4 指派運算子
2.5 運算子有優先順序
2.5.1 位元運算子
2.5.2 運算子誰優先?
第3章 運算子與條件選擇
3.1 認識程式語言結構
3.2 單一條件
3.2.1 比較運算子
3.2.2 if 敘述
3.3 雙向選擇
3.3.1 邏輯運算子
3.3.2 if/else 敘述
3.3.3 特殊的三元運算子
3.4 更多選擇
3.4.1 巢狀if
3.4.2 if/elif/else 敘述
3.4.3 match/case 敘述
第4章 廻圈控制
4.1 for 廻圈讓程式轉向
4.1.1 使用for/in 廻圈
4.1.2 range() 函式
4.1.3 巢狀廻圈
4.2 while 廻圈與 random 模組
4.2.1 while 廻圈特色
4.2.2 獲得 while 廻圈執行次數
4.2.3 使用 random 模組
4.3 特殊流程控制
4.3.1 break 敘述
4.3.2 continue 敘述
第5章 序列型別和字串
5.1 序列型別概觀
5.1.1 序列和迭代器
5.1.2 建立序列資料
5.1.3 序列元素操作
5.1.4 與序列有關的函式
5.2 字串與切片
5.2.1 建立字串
5.2.2 脫逸字元
5.2.3 字串如何切片
5.3 字串常用函數
5.3.1 尋訪字串
5.3.2 統計、取代字元
5.3.3 比對字元
5.3.4 字串的分與合
5.3.5 字串的大小寫
5.4 格式化字串
5.4.1 把字串對齊
5.4.2 % 運算子
5.4.3 內建函式 format()
5.4.4 str.format() 方法
第6章 Tuple 與List
6.1 Tuple 不可變
6.1.1 建立 Tuple
6.1.2 讀取 Tuple 元素
6.1.3 Tuple 和 Unpacking
6.1.4 Tuple 做切片運算
6.2 串列
6.2.1 建立、讀取串列
6.2.2 與List 有關的方法
6.2.3 將資料排序
6.2.4 串列生成式
6.3 二維 List
6.3.1 產生矩陣
6.3.2 讀取矩陣
6.3.3 矩陣與串列生成式
6.3.4 不規則矩陣
6.4 串列的複製
6.4.1 串列與淺複製
6.4.2 copy 模組的 copy() 方法
6.4.3 deepcopy() 方法複製物件本身
第7章 字典
7.1 認識映射型別
7.2 建立字典
7.2.1 認識字典
7.2.2 產生字典
7.2.3 讀取字典項目
7.2.4 類別方法 fromkeys()
7.3 字典的異動
7.3.1 新增與修改元素
7.3.2 刪除字典項目
7.3.3 合併字典
7.4 鍵、值相關操作
7.4.1 預防找不到 key
7.4.2 讀取字典
7.4.3 字典生成式
7.5 預設字典和有序字典
7.5.1 預設字典
7.5.2 有序字典
第8章 集合
8.1 建立集合(Sets)
8.1.1 認識雜湊
8.1.2 建立 set 物件
8.1.3 set() 函式產生集合
8.2 集合相關操作
8.2.1 新增、移除元素
8.2.2 集合與數學計算
8.2.3 聯集、交集運算
8.2.4 差集、對等差集運算
8.3 集合相關方法
8.3.1 增強計算
8.3.2 檢測集合
8.3.3 集合生成式
8.3.4 集合frozenset
第9章 函式
9.1 Python 的內建函式
9.1.1 與數值有關的函式
9.1.2 字串的 BIF
9.1.3 序列型別相關函式
9.1.4 其他的 BIF
9.2 函式基本概念
9.2.1 函式基礎
9.2.2 定義函式
9.2.3 呼叫函式
9.2.4 回傳值
9.3 參數基本機制
9.3.1 引數如何傳遞?
9.3.2 位置參數有順序性
9.3.3 預設參數值
9.3.4 關鍵字引數
9.4 可長短的參、引數列
9.4.1 形式參數的 * 星號運算式
9.4.2 ** 運算式與字典合作
9.4.3 * 運算子拆解可迭代物件
9.4.4 ** 運算子拆解字典物件
9.5 更多函式的討論
9.5.1 適用範圍
9.5.2 函式是第一等公民
9.5.3 區域函式與 Closure
9.5.4 Lambda 函式
9.5.5 遞迴
第10章 模組與函式庫
10.1 匯入模組
10.1.1 import/as 敘述
10.1.2 from/import 敘述
10.1.3 名稱空間和 dir() 函式
10.2 自行定義模組
10.2.1 模組路徑
10.2.2 滙入自定模組
10.2.3 屬性__name__
10.3 取得時間戳 time 模組
10.3.1 取得目前時間
10.3.2 時間結構和格式轉換
10.4 datetime 模組
10.4.1 處理日期 date 類別
10.4.2 time 類別取得時間值