程式設計書 20 萬冊暢銷作者洪維恩最新力作!☆☆ 全書採 Colab 雲端免安裝環境實作教學, 並附有 Colab 線上教學影片 ☆☆
☆☆ 所有範例也可在 Jupyter Lab 執行, 並附有 Jupyter Lab 線上教學影片 ☆☆本書沿襲《C 語言教學手冊》、《C++ 教學手冊》、《Java 教學手冊》系列書籍的中心思維, 以教學為優先考量, 在內容的設計與學習的節奏上, 都適度考量到課堂時間長度與初學者的接受能力, 不論是老師在學校授課, 或是讀者在家自學 Python, 在學習過程中都能在在感受到書籍內容對於學習節奏規劃的貼心。
為減少課堂授課現場的軟硬體準備時間, 以及避免學習者在家自我練習的環境建置問題, 本書採用 Colab 雲端服務作為主要教學開發環境, 達到完全不須建置安裝任何軟體即可開始教學練習, 甚至使用手機或是平板開啟瀏覽器也可上課學習, 不會因為不同環境建置差異及不同平台或作業系統版本而耗費時間排除問題, 有效提升教學效率。
本書在選題上完全聚焦在初學者的需求, 以精簡的大量範例讓初學者理解基本語法的重要面向, 釐清初學階段容易誤解的細節, 範例設計不求花俏吸睛, 而是以教學上能呈現重點, 初學者又能在短時間內明確吸收為考量, 並在每章章末附有大量的習題, 可讓學生自我演練, 或供老師驗收成果, 有效提升學習效果。
在延伸主題的選材上本書也以 Python 應用上最常使用到的數學、資料處理及繪圖為主, 講解 NumPy、Pandas、Matplotlib、pyplot、scikit-image 等模組, 不求能快速做出厲害的應用, 而是以奠定基礎為目標, 期許讀者在修習本書後, 不論是要往 AI 機器學習, 抑或是資料科學領域發展, 都能夠快速應用書上學過的這些通用模組, 有效搭建起未來進階應用 Python 的橋樑。
另外, 本書還介紹了以數學符號運算見長的 SymPy 模組, 可以讓理工科系學生透過 Python 程式驗證微積分、工程數學等必修課程, 還能夠將抽象的數學概念以視覺化的方式呈現, 不但可以讓程式設計課程與數學課程完美接軌, 也因為這些延伸模組都能以 Python 一致的語法操控, 彷彿是 Python 內建功能一樣, 更能讓學習者領略 Python 的設計奧妙, 有效提升對於程式語言的認知深度。
本書撰寫過程嚴謹, 除經過完整兩個學期的試教, 確認學生的吸收成效外, 也交由百位以上的學生試讀反饋意見, 再一一調整內容安排, 以期能符合現場教學及初學者需求。即使是每章章末的習題, 也都經過十多位學生實際演練, 確保出題範圍適切、難易適中, 是驗證學習成效的利器。
本書特色:
□ 免安裝環境開瀏覽器就能上課寫程式
□ 大量簡明範例呈現教學重點容易吸收
□ 資料科學影像處理奠基未來 AI 基礎
□ 數學符號運算無縫接軌理工數學課程
□ 以大量習題驗證教學自我評量最有效
□ 經完整兩個學期多科系試教實際驗證
作者簡介:
洪維恩,南投縣人。美國紐約州立大學水牛城分校博士,現為國立臺中科技大學資訊工程系與商業經營系合聘教授。曾於2020年入選全球前2%頂尖科學家 (World's Top 2% Scientists 2020),入選領域為人工智慧與影像處理 (Artificial Intelligence & Image Processing)。著有《C 語言教學手冊》、《C++ 教學手冊》、《Java 教學手冊》與《Matlab 程式設計》等書籍。
目錄
第 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 繪圖的基本認識
11.2 二維繪圖的修飾
11.3 填滿繪圖與極坐標繪圖
11.4 統計繪圖
11.5 等高線圖與三維繪圖
11.6 動畫的製作
第 12 章 使用 Pandas 處理數據資料
12.1 Pandas 的基本認識
12.2 Series 和 DataFrame 的運算
12.3 排序與統計函數
12.4 Pandas 的繪圖
12.5 存取 csv 檔與 pickle 檔
第 13 章 使用 Sympy 進行符號運算
13.1 Sympy 套件與符號物件
13.2 基本代數運算
13.3 解方程式
13.4 微積分
13.5 線性代數
13.6 解微分方程式
第 14 章使用 Skimage 進行圖像處理
14.1 圖像的基本概念
14.2 認識色表
14.3 基礎圖像處理
14.4 進階圖像處理
14.5 圖像修復
附錄 A: Colab 的工作區與雲端硬碟的存取
A.1 與 Colab 的工作區互動
A.2 連接 Colab 到雲端硬碟
附錄 B: 安裝與使用 Jupyter lab
B.1 下載與安裝 Python
B.2 建立 Python 的虛擬環境並安裝 Jupyter lab
B.3 啟動與使用 Jupyter lab
B.4 為 Jupyter lab 建立捷徑
B.5 在 Jupyter lab 裡繪製動畫
附錄 C: ASCII 碼表
英文索引
第 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...