內容簡介
程式設計書 20 萬冊暢銷作者洪維恩最新力作!
本書沿襲《C 語言教學手冊》、《C++ 教學手冊》、《Java 教學手冊》系列書籍的中心思維, 以教學為優先考量, 在內容的設計與學習的節奏上, 都適度考量到課堂時間長度與初學者的接受能力, 不論是老師在學校授課, 或是讀者在家自學 Python, 在學習過程中都能在在感受到書籍內容對於學習節奏規劃的貼心。
為減少課堂授課現場的軟硬體準備時間, 以及避免學習者在家自我練習的環境建置問題, 本書採用 Colab 雲端服務作為主要教學開發環境, 達到完全不須建置安裝任何軟體即可開始教學練習, 甚至使用手機或是平板開啟瀏覽器也可上課學習, 不會因為不同環境建置差異及不同平台或作業系統版本而耗費時間排除問題, 有效提升教學效率。
本書在選題上完全聚焦在初學者的需求, 以精簡的大量範例讓初學者理解基本語法的重要面向, 釐清初學階段容易誤解的細節, 範例設計不求花俏吸睛, 而是以教學上能呈現重點, 初學者又能在短時間內明確吸收為考量, 並在每章章末附有大量的習題, 可讓學生自我演練, 或供老師驗收成果, 有效提升學習效果。
在延伸主題的選材上本書也以 Python 應用上最常使用到的數學、資料處理及繪圖為主, 講解 NumPy、Pandas、Matplotlib、pyplot、scikit-image 等模組, 不求能快速做出厲害的應用, 而是以奠定基礎為目標, 期許讀者在修習本書後, 不論是要往 AI 機器學習, 抑或是資料科學領域發展, 都能夠快速應用書上學過的這些通用模組, 有效搭建起未來進階應用 Python 的橋樑。
另外, 本書還介紹了以數學符號運算見長的 SymPy 模組, 可以讓理工科系學生透過 Python 程式驗證微積分、工程數學等必修課程, 還能夠將抽象的數學概念以視覺化的方式呈現, 不但可以讓程式設計課程與數學課程完美接軌, 也因為這些延伸模組都能以 Python 一致的語法操控, 彷彿是 Python 內建功能一樣, 更能讓學習者領略 Python 的設計奧妙, 有效提升對於程式語言的認知深度。
本書撰寫過程嚴謹, 除經過完整兩個學期的試教, 確認學生的吸收成效外, 也交由百位以上的學生試讀反饋意見, 再一一調整內容安排, 以期能符合現場教學及初學者需求。即使是每章章末的習題, 也都經過十多位學生實際演練, 確保出題範圍適切、難易適中, 是驗證學習成效的利器。
本書特色
□ 免安裝環境開瀏覽器就能上課寫程式
□ 大量簡明範例呈現教學重點容易吸收
□ 資料科學影像處理奠基未來 AI 基礎
□ 數學符號運算無縫接軌理工數學課程
□ 以大量習題驗證教學自我評量最有效
□ 經完整兩個學期多科系試教實際驗證
目錄
第 1 章 認識 Python
1.1 Python 簡介
1.2 使用 Google Colaboratory
1.3 Python 語法的組成
1.4 程式撰寫時的注意事項
1.5 當程式執行錯誤時
1.6 程式的註解與函數用法的查詢
第 2 章 資料型別、變數與運算子
2.1 簡單的資料型別
2.2 變數與常數
2.3 常用的運算子
2.4 變數的設值與運算的優先順序
2.5 型別轉換
2.6 不同進位數字的轉換
2.7 輸出與輸入函數
第 3 章 數值與字串的處理
3.1 數值運算
3.2 random 模組裡的函數
3.3 字串的處理函數
3.4 字串類別提供的函數
第 4 章 容器資料型別
4.1 list 資料型別
4.2 tuple 資料型別
4.3 set 資料型別
4.4 dict 資料型別
第 5 章 流程控制:選擇性敘述與迴圈
5.1 選擇性敘述
5.2 for 迴圈
5.3 while 迴圈
5.4 break、 continue 和 pass 敘述
5.5 帶有 else 的迴圈
5.6 串列生成式
第 6 章 函數
6.1 函數的基本概念
6.2 參數的傳遞機制
6.3 關於傳入的參數
6.4 全域變數與區域變數
6.5 遞迴函數
6.6 lambda 表達式
6.7 函數的進階應用
第 7 章 物件導向程式設計
7.1 類別的基本概念
7.2 實例函數
7.3 類別函數和靜態函數
7.4 繼承
7.5 類別的進階認識
第 8 章 檔案、異常處理與模組
8.1 檔案處理
8.2 異常處理
8.3 模組與套件
第 9 章 使用 Numpy 套件
9.1 認識 Numpy 的陣列
9.2 陣列元素的提取
9.3 陣列的進階處理
第 10 章 Numpy 的數學運算
10.1 基本運算
10.2 資料的排序
10.3 數學矩陣的相關運算
10.4 廣播運算
10.5 儲存 Numpy 陣列
第 11 章 使用 Matplotlib 繪圖套件
11.1 Matplotlib 繪圖的基本認識...