初學 Python 的第一本書 : 從基本語法到模組應用(iT邦幫忙鐵人賽系列書)

初學 Python 的第一本書 : 從基本語法到模組應用(iT邦幫忙鐵人賽系列書)

作者: 林志瑜
出版社: 博碩文化
出版在: 2021-08-04
ISBN-13: 9789864348503
ISBN-10: 9864348507
總頁數: 256 頁





內容描述


「這是一本很適合Python初學者的好書,讓初學者在遇到問題時能方便查找相關資訊,避免在初學過程中的挫折。推薦給想學Python的程式新手!」
-台大教授 葉丙成

「現今Python書籍百百種,有別於市面上的其他Python書籍,志瑜總是能用很細膩的內容設計,切入讀者心中的核心需求,相信這本書除了作為入門的基礎教材之外,更能提供豐富精煉的程式範例,深入淺出、有系統地帶領身為初學者的你,用最有效率的方式進入Python的世界,不浪費任何學習時間。」
-HiSKIO創辦人 Adam

第一本去蕪存菁介紹從Python入門到各項應用方法的台灣本土專書
使用最精粹簡潔方式介紹Python基礎,不怕學不會!
列出逐步範例讓使用者練習Python用法,由淺入深!
納入各項模組方法以學習Python應用,培養實戰力!

本書內容改編自第12屆iT邦幫忙鐵人賽 Software Development 組佳作系列文章《從零開始學Python》,是一本寫給入門程式及初學Python者的台灣本土專書。

本書專為初學者學習Python設計,去蕪存菁地選取了初識Python所需的基本內容,協助讀者系統化地認識Python語言;同時納入了有關演算法分析及效能量測的章節,使讀者更能於實作時有效評估自己寫的程式,是否在功能運作正常的狀況下兼顧執行效率。

本書同時也介紹了不少常用的函式庫,以幫助讀者在掌握基本的Python寫法時,能善加利用到Python作為膠水語言(Glue Language)的特性,得以開發符合應用面的工具。

【內容重點】
你將理解Python作為程式的基本概念及學習使用方式
✪Python的安裝、基礎操作
✪型態、運算子、變數、字串基礎
✪串列、元組、字典、集合
✪程式結構的流程及語法、例外處理
✪遞迴(Recursion)
✪物件與類別
✪程式的效率探討

你將學會使用常見的模組
✪如何使用模組/套件
✪使用系統模組os
✪使用日期與時間模組進行計算
✪使用圖形處理模組Pillow進行基本繪圖
✪使用資料結構模組deque、heapq
✪使用二元搜尋法模組bisect

你將學會使用進階的模組框架觸及不同領域
✪使用Numpy進行科學運算
✪使用Matplotlib進行科學繪圖
✪使用Keras架構基本的深度學習模型
✪使用PyInstaller將寫好的程式打包


目錄大綱


|CHAPTER 01| Python起源及安裝使用
1.1 Python的起源及演進
1.2 如何安裝Python
1.3 REPL直譯器環境與一般的執行方式
1.4 其他使用Python的方式
1.5 練習

|CHAPTER 02| 型態(型別)、運算子、變數
2.1 在直譯器上做基礎計算及使用運算子
2.2 型態(型別)
2.3 變數
2.4 運算子
2.5 型態轉換與印出(print)
2.6 練習

|CHAPTER 03| 字串基礎
3.1 字串與型態轉換
3.2 常見字串運算及操作
3.3 練習

|CHAPTER 04| 串列、元組、字典、集合
4.1 串列(list)
4.2 元組(tuple)
4.3 字典(dict)
4.4 集合(set)
4.5 練習

|CHAPTER 05| 程式結構與流程語法
5.1 緒論
5.2 if...elif...else
5.3 while 迴圈
5.4 for 迴圈
5.5 列表生成式(list comprehension)
5.6 函式
5.7 全域變數、區域變數
5.8 Lambda運算式
5.9 練習

|CHAPTER 06| 例外處理
6.1 程式的bug
6.2 try...except
6.3 raise Exception
6.4 練習

|CHAPTER 07| 遞迴(Recursion)
7.1 什麼是遞迴?
7.2 遞迴的條件、遞迴解與迭代解
7.3 遞迴的效率
7.4 練習

|CHAPTER 08| 模組與套件
8.1 如何使用模組:使用import(匯入),以random(亂數)為例
8.2 使用套件的形式匯入
8.3 defaultdict
8.4 Counter
8.5 OrderedDict
8.6 deque
8.7 練習

|CHAPTER 09| 物件與類別
9.1 物件(object)與類別(class)
9.2 定義類別並從類別生成物件
9.3 類別的繼承:基礎類別(base class)與衍生類別(derived class)
9.4 Override(覆寫/覆載)
9.5 類別/物件及模組的抉擇
9.6 靜態方法
9.7 多重繼承
9.8 運算子的覆寫(Override)
9.9 練習

|CHAPTER 10| 檔案讀寫
10.1 文字檔案讀寫
10.2 CSV讀寫
10.3 JSON讀寫
10.4 練習

|CHAPTER 11| 系統模組(os)及基本檔案瀏覽操作
11.1 使用os模組來列出及經過資料夾/檔案
11.2 搭配shutil來進行檔案操作
11.3 練習

|CHAPTER 12| 日期與時間
12.1 使用datetime計算日期
12.2 使用time計算時間
12.3 練習

|CHAPTER 13| 時間量測與效率檢驗
13.1 開始之前
13.2 使用timeit量測程式的速度
13.3 練習

|CHAPTER 14| 基本圖形處理Pillow
14.1 安裝PIL套件
14.2 基礎操作
14.3 來自製長輩圖吧!
14.4 練習

|CHAPTER 15| 圖形化使用者介面設計Tkinter
15.1 圖形化使用者介面介紹
15.2 Tkinter基礎屬性操作
15.3 Frame區塊/Button按鈕
15.4 tk變數及各項元件組合
15.5 練習

|CHAPTER 16| 資料結構模組deque
16.1 queue和stack
16.2 deque作為queue的範例:二元樹的層序遍歷
16.3 練習

|CHAPTER 17| 資料結構模組heapq
17.1 什麼是heap?
17.2 heapify及常用函式
17.3 練習

|CHAPTER 18| 二元搜尋法模組bisect
18.1 二元搜尋法(binary search)
18.2 取得應插入的位置/插入
18.3 練習

|CHAPTER 19| 科學運算NumPy
19.1 安裝
19.2 陣列及基礎特性
19.3 常見操作
19.4 練習

|CHAPTER 20| 科學繪圖Matplotlib
20.1 安裝
20.2 直方圖繪製
20.3 基礎繪圖及樣式調整
20.4 散點圖繪製
20.5 3D散點圖繪製
20.6 練習

|CHAPTER 21| 深度學習Keras
21.1 人工智慧(AI)簡介
21.2 Keras介紹
21.3 使用Colab來訓練Fashion MNIST範例
21.4 結果測試
21.5 練習

|CHAPTER 22| 打包安裝PyInstaller
22.1 安裝及常見參數介紹
22.2 打包圖片的坑
22.3 簡易加密
22.4 練習

|APPENDIX| 附錄
Appendix A 演算法分析
Appendix B 練習解答
Appendix C ASCII Code表格


作者介紹


林志瑜
擁有近八年工作經驗,從Android軟韌體/App跨足到AI領域的工程師,先後任職於華碩電腦及新創AI公司,於2020年底作為AI工程師任職於喬山健康科技。

於線上課程平台HiSKIO開設演算法及工程師面試準備相關的系列課程外,在個人Medium及粉絲專頁亦致力於發表分享Python及LeetCode相關文章,希望能幫助更多人有效學習Python及練習面試準備。

連續2年參加iT邦幫忙鐵人賽,以主題《從LeetCode學演算法》及《從零開始學Python》(均為Software Development組)分別獲得優選及佳作(第11/第12屆)。

【作者Medium】
https://desolve.medium.com

【作者粉絲專頁】
《跟著Desolve學程式》
https://www.facebook.com/learnwithdesolve




相關書籍

推薦系統:技術、評估及高效算法, 2/e (Recommender Systems Handbook, 2/e)

作者 Ricci Francesco Rokach Lior Shapira Bracha

2021-08-04

統計學: SPSS之應用, 3/e

作者 林曉芳

2021-08-04

Cost-Sensitive Machine Learning (Hardcover)

作者 Balaji Krishnapuram Shipeng Yu R. Bharat Rao

2021-08-04