描述
本書特色
市面上最強最完整的Python入門數據科學之路書籍
- 888程式實例 + 420個函數 + 240習題實例
- 人工智慧基礎知識融入章節內容
- 經緯度計算地球任2城市之間的距離
- 基礎函數也深入到嵌套、closure、lambda、Decorator
- Google大數據著名的論文MapReduce關鍵map( )和reduce( ),有完整解說
- 遞廻式觀念與碎形Fractal
- 詞雲(wordcloud)設計
- csv和json檔案
- 繪製世界地圖
- 台灣股市資料擷取與圖表製作
- Python解線性代數
- Python解聯立方程式
- Python執行數據分析
- 科學計算與數據分析Numpy、Scipy、Pandas
內容簡介
這是一本專為沒有程式設計基礎的讀者設計的入門Python書籍,全書約888個程式實例 + 240個實作習題,一步一步徹底講解Python語法的基礎知識,同時也將應用範圍擴充至GUI(圖形介面)設計、影像處理、圖表繪製、文字辨識、詞雲(WordCloud)、台灣股市資料擷取與圖表製作、基礎線性代數、基礎統計、以及邁向數據科學之路Numpy、Scipy、Panda。Python是一門可以很靈活使用的程式語言,本書特色在於對Python最基礎的知識與應用使用了大量靈活的實例做說明,讀者可以由這些程式實例事半功倍完成學會Python。
序
888 程式實例 + 420 個函數 + 240 習題實例
多次與教育界的朋友相聚,談到電腦語言的發展趨勢,大家一致公認Python 已經是當今最重要的電腦語言了,幾乎所有知名公司,例如:Google、Facebook、⋯等皆已經將此語言列為必備電腦語言。了解許多人想學Python,市面上的書也不少,但是目前市面上欠缺一本用簡單程式實例完整徹底講解Python 語法的書籍,或是Python
語法講解不完整、造成學習上的障礙或是讀完一本Python 書籍卻常常看不懂專家寫的Python 程式,就這樣我決定撰寫一本用豐富、實用、有趣實例完整且深入講解Python語法的入門書籍。其實這本書也是目前市面上講解Python 書籍中語法最完整、範例最豐富的書籍。
Python 以簡潔著名,語法非常活,同時擁有非常多豐富、實用的模組,本書筆者嘗試將Python 語法的各種用法用實例解說,同時穿插使用各種模組,以協助讀者未來可以更靈活使用Python,同時筆者也嘗試在書籍內穿插基本的科學、數學、統計與人工智慧的基礎知識,以奠定讀者邁向更高深學習的紮實基礎。
本書以約888 個程式實例搭配約420 個模組的函數,輔助約240 個習題,講解紮實的Python 語法,同時本書同時說明下列知識與應用:
■ 人工智慧基礎知識融入章節內容
■ 認識 Python 彩蛋
■ 從bytes說起、編碼(encode)、解碼(decoding),到精通串列(list)、元組(tuple)、字典(dict)、集合(set)
■ 從小型串列、元組、字典到大型數據資料的建立
■ 生成式 (generator) 建立 Python 資料結構,串列 (list)、字典 (dict)、集合 (set)
■ 在座標軸內計算任 2 點之間的距離,同時解說與人工智慧的關聯
■ 經緯度計算地球任 2 城市之間的距離,學習取得地球任意位置的經緯度
■ 萊布尼茲公式、尼拉卡莎、蒙地卡羅模擬計算圓週率
■ 基礎函數觀念,也深入到嵌套、closure、lambda、Decorator 等高階應用
■ Google 有一篇大數據領域著名的論文,MapReduce:Simplified Data Processing on Large Clusters,重要觀念是MapReduce,筆者將對map( ) 和reduce( ) 完整解說,更進一步配合lambda 觀念解說高階應用
■ 建立類別同時深入裝飾器@property、@classmethod、 @staticmathod 與類別特殊屬性與方法
■ 設計與應用自己設計的模組、活用外部模組 (module)
■ 賭場騙局
■自己設計加密與解密程式
■Python 的輸入與輸出
■ 檔案壓縮與解壓縮
■ 程式除錯與異常處理
■ 檔案讀寫與目錄管理
■ 剪貼簿處理
■ 正則表達式
■ 遞廻式觀念與碎形 Fractal
■ 影像處理與文字辨識,更進一步說明電腦儲存影像的方法與觀念
■ QR code 製作
■ 詞雲 (wordcloud) 設計
■ GUI 設計 - 實作小算盤
■ 實作動畫與遊戲
■ Matplotlib 中英文圖表繪製
■說明 csv 和 json 檔案
■ 繪製世界地圖
■ 台灣股市資料擷取與圖表製作
■ Python 解線性代數
■ Python 解聯立方程式
■ Python 執行數據分析
■ 科學計算與數據分析 Numpy、Scipy、Panda
寫過許多的電腦書著作,本書沿襲筆者著作的特色,程式實例豐富,相信讀者只要遵循本書內容必定可以在最短時間精通Python 設計,編著本書雖力求完美,但是學經歷不足,謬誤難免,尚祈讀者不吝指正。
洪錦魁2019-04-20
jiinkwei@me.com
目錄
第一章 基本觀念
1.1 認識Python
1-2 Python的起源
1-3 Python語言發展史
1-4 Python的應用範圍
1-5 靜態語言與動態語言
1-6 跨平台的程式語言
1-7 系統的安裝與執行
1-8 Python 2與Python 3不相容的驗證
1-9 檔案的建立、儲存、執行與開啟
1-10 程式註解
1-11 Python彩蛋
第二章 認識變數與基本數學運算
2-1 用Python做計算
2-2 認識變數
2-3 認識程式的意義
2-4 認識註解的意義
2-5 Python變數與其它程式語言的差異
2-6 變數的命名原則
2-7 基本數學運算
2-8 指派運算子
2-9 Python等號的多重指定使用
2-10刪除變數
2-11Python的斷行
2-12 專題-複利計算/計算圓面積與圓周長
第三章 Python的基本資料型態
3-1 type( )函數
3-2 數值資料型態
3-3 布林值資料型態
3-4 字串資料型態
3-5 字串與字元
3-6 bytes資料
3-7 專題地球到月球時間計算/計算座標軸2點之間距離
第四章 基本輸入與輸出
4-1 Python的輔助說明help( )
4-2 格式化輸出資料使用print( )
4-3 輸出資料到檔案
4-4 資料輸入input( )
4-5 處理字串的數學運算eval( )
4-6列出所有內建函數dir( )
4-7 專題-溫度轉換/房貸問題/正五角形面積/計算經緯度距離
第五章 程式的流程控制使用if敘述
5-1 關係運算子
5-2 邏輯運算子
5-3 if敘述
5-4 if … else敘述
5-5 if … elif … else敘述
5-6 巢狀的if敘述
5-7 尚未設定的變數值None
5-8 專題- BMI程式/猜出生日期/12生肖系統/線性方程式
第六章 串列(List)
6-1 認識串列(list)
6-2Python簡單的物件導向觀念
6-3 獲得串列的方法
6-4 增加與刪除串列元素
6-5 串列的排序
6-6 進階串列操作
6-7 串列內含串列
6-8 串列的賦值與切片拷貝
6-9再談字串
6-10 in和not in運算式
6-11 is或is not運算式
6-12 enumerate物件
6-13專題 建立大型串列/使用者帳號管理系統/文件加密
第七章 迴圈設計
7-1基本for迴圈
7-2 range( )函數
7-3 進階的for迴圈應用
7-4 while迴圈
7-5 enumerate物件使用for迴圈解析
7-6專題-購物車設計/成績系統/圓周率
第八章 元組(Tuple)
8-1元組的定義
8-2讀取元組元素
8-3 遍歷所有元組元素
8-4 修改元組內容產生錯誤的實例
8-5 可以使用全新定義方式修改元組元素
8-6 元組切片(tuple slices)
8-7 方法與函數
8-8 串列與元組資料互換
8-9 其它常用的元組方法
8-10 enumerate物件使用在元組
8-11 使用zip( )打包多個物件
8-12 生成式(generator)
8-13 製作大型的元組資料
8-14 元組的功能
8-15 專題-認識元組/統計應用
第九章 字典(Dict)
9-1字典基本操作
9-2 遍歷字典
9-3 建立字典串列
9-4 字典內鍵的值是串列
9-5 字典內鍵的值是字典
9-6 while迴圈在字典的應用
9-7 字典常用的函數和方法
9-8 製作大型的字典資料
9-9 專題-文件分析/字典生成式/英漢字典
第十章 集合(Set)
10-1 建立集合
10-2 集合的操作
10-3 適用集合的方法
10-4適用集合的基本函數操作
10-5 凍結集合frozenset
10-6 專題 夏令營程式/程式效率/集合生成式/雞尾酒實例
第十一章 函數設計
11-1Python函數基本觀念
11-2 函數的參數設計
11-3函數傳回值
11-4 呼叫函數時參數是串列
11-5 傳遞任意數量的參數
11-6 進一步認識函數
11-7 遞迴式函數設計recursive
11-8 區域變數與全域變數
11-9 匿名函數lambda
11-10 pass與函數
11-11 type關鍵字應用在函數
11-12 設計自己的range( )
11-13裝飾器(Decorator)
11-14 專題-函數的應用/最大公約數/質數
第十二章 類別–物件導向的程式設計
12-1 類別的定義與使用
12-2類別的訪問權限 – 封裝(encapsulation)
12-3 類別的繼承
12-4 多型(polymorphism)
12-5 多重繼承
12-6 type與instance
12-7特殊屬性
12-8 類別的特殊方法
12-9專題 幾何資料的應用
第十三章 設計與應用模組
13-1 將自建的函數儲存在模組中
13-2 應用自己建立的函數模組
13-3 將自建的類別儲存在模組內
13-4 應用自己建立的類別模組
13-5隨機數random模組
13-6 時間time模組
13-7 系統sys模組
13-8 keyword模組
13-9 日期calendar模組
13-10 幾個增強Python功力的模組
13-11 專題設計-賭場遊戲騙局/蒙地卡羅模擬/文件加密
第十四章 檔案的讀取與寫入
14-1 資料夾與檔案路徑
14-2 讀取檔案
14-3 寫入檔案
14-4 讀取和寫入二進位檔案
14-5 shutil模組
14-6 檔案壓縮與解壓縮zipFile
14-7 認識編碼格式encode
14-8 剪貼簿的應用
14-9 專題設計 分析檔案/加密檔案
第十五章 程式除錯與異常處理
15-1 程式異常
15-2設計多組異常處理程序
15-3 丟出異常
15-4紀錄Traceback字串
15-5finally
15-6程式斷言assert
15-7 程式日誌模組logging
15-8 程式除錯的典故
第十六章 正則表達式Regular Expression
16-1 使用Python硬功夫搜尋文字
16-2 正則表達式的基礎
16-3 更多搜尋比對模式
16-4 貪婪與非貪婪搜尋
16-5 正則表達式的特殊字元
16-6 MatchObject物件
16-7 搶救CIA情報員– sub( )方法
16-8 處理比較複雜的正則表示法
第十七章 用Python處理影像檔案
17-1 認識Pillow模組的RGBA
17-2 Pillow模組的盒子元組(Box tuple)
17-3 影像的基本操作
17-4 影像的編輯
17-5 裁切、複製與影像合成
17-6 影像濾鏡
17-7 在影像內繪製圖案
17-8 在影像內填寫文字
17-9 專題 – 建立QR code/辨識車牌與建立停車場管理系統
17-9-1 建立QR code
17-9-2文字辨識與停車場管理系統
17-9-3辨識繁體中文
17-9-4 辨識簡體中文
17-10 專題 -詞雲(WordCloud)設計
17-10-1 安裝wordcloud
17-10-2 我的第一個詞雲程式
17-10-3 建立含中文字詞雲結果失敗
17-10-4 建立含中文字的詞雲
17-10-5 進一步認識jieba模組的分詞
17-10-6 建立含圖片背景的詞雲
第十八章 開發GUI程式使用tkinter
18-1 建立視窗
18-2標籤Label
18-3 視窗元件配置管理員Layout Management
18-4 功能鈕Button
18-5 變數類別
18-6 文字方塊Entry
18-7 文字區域Text
18-8 捲軸Scrollbar
18-9選項鈕Radiobutton
18-10 核取方塊Checkbutton
18-11 對話方塊messagebox
18-12 圖形PhotoImage
18-13 尺度Scale的控制
18-14 功能表Menu設計
18-15 專題-設計小算盤
第十九章 動畫與遊戲
19-1 繪圖功能
19-2尺度控制畫布背景顏色
19-3 動畫設計
19-4反彈球遊戲設計
19-5 專題-使用tkinter處理謝爾賓斯基三角形
第二十章 數據圖表的設計
20-1 繪製簡單的折線圖
20-2繪製散點圖scatter( )
20-3Numpy模組
20-4 隨機數的應用
20-5 繪製多個圖表
20-6長條圖的製作
20-7圓餅圖的製作pie( )
20-8 圖表顯示中文
20-9 專題-台灣股市資料讀取與圖表製作
第二十一章 JSON資料與繪製世界地圖
21-1 認識json資料格式
21-2 將Python應用在json字串形式資料
21-3將Python應用在json檔案
21-4 簡單的json檔案應用
21-5 世界人口數據的json檔案
21-6 繪製世界地圖
第二十二章 使用Python處理CSV文件
22-1建立一個CSV文件
22-2 用記事本開啟CSV檔案
22-3 csv模組
22-4 讀取CSV檔案
22-5 寫入CSV檔案
22-6專題-使用CSV檔案繪製氣象圖表
第二十三章 Numpy模組
23-1陣列ndarray
23-2Numpy的資料型態
23-3 一維陣列
23-4二維陣列
23-5 簡單線性代數運算
23-6 Numpy的廣播功能
23-7 常用的數學函數
23-8 隨機數函數
23-9 統計函數
23-10檔案的輸入與輸出
第二十四章 SciPy模組
24-1 線性代數scipy.linalg
24-2 統計scipy.stats.
24-3 最佳化scipy.optimize
24-4 插值scipy.interpolate
第二十五章 Pandas模組
25-1 Series
25-2 DataFrame
25-3 基本Pandas資料分析與處理
25-4 檔案的輸入與輸出
25-5 Pandas繪圖
25-6 時間序列(Time Series)
25-7 專題-鳶尾花
附錄A 安裝Python
A-1 Windows作業系統的安裝Python版
附錄B 安裝第三方模組
B-1 pip工具
B-2 啟動DOS與安裝模組
B-3 導入模組安裝更新版模組
B-4 安裝更新版模組
B-5列出所安裝的模組
B-6 刪除模組7
B-7 找尋更多模組
B-8 安裝新版pip
附錄C 函數或方法索引表
附錄D RGB色彩表
附錄E ASCII碼值表