Python從小白到大牛
關東升
- 出版商: 清華大學
- 出版日期: 2018-11-01
- 定價: $534
- 售價: 8.5 折 $454
- 語言: 簡體中文
- 裝訂: 平裝
- ISBN: 7302509336
- ISBN-13: 9787302509332
-
相關分類:
Python
-
其他版本:
Python 從小白到大牛, 2/e
買這商品的人也買了...
-
$945Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .NET (Paperback)
-
$360$284 -
$580$493 -
$505揭秘 Angular 2
-
$505Python3 網絡爬蟲開發實戰
-
$690$538 -
$580$493 -
$327樹莓派開始 , 玩轉 Linux
-
$235零基礎學編程:樹莓派和Python
-
$296用戶畫像:大數據時代的買家思維營銷
-
$301你也能看得懂的 Python 算法書
-
$880$695 -
$430$387 -
$620$490 -
$454Go 語言高級編程
-
$500Python + Kivy (App開發) 從入門到實踐
-
$550$413 -
$352TensorFlow 語音識別實戰
-
$980$774 -
$880$695 -
$240循序漸進 Vue.js 3 前端開發實戰
-
$403Xamarin 全棧開發技術與實踐 (微課版)
-
$305區塊鏈+ 技術與實踐
-
$454Vue.js從入門到項目實戰(升級版)
-
$653機器學習和深度學習:原理、算法、實戰 (使用 Python 和 TensorFlow)
相關主題
商品描述
本書是一部系統論述 Python編程語言、 OOP編程思想以及函數式編程思想的立體化教程(含圖書、答疑服務、教學課件、源代碼及視頻教程)。全書共分為四篇:第一篇Python基礎(第1章~第8章),第二篇Python進階(第9章~第15章),第三篇Python高級實用庫與框架(第16章~第20章),第四篇項目實戰(第21章~第24章)。主要內容包括開篇綜述、搭建開發環境、第一個Python程序、Python語法基礎、 Python編碼規範、數據類型、運算符、控制語句、數據結構、函數式編程、面向對象編程、異常處理、常用模塊、正則表達式、文件操作與管理、數據交換格式、數據庫編程、網絡編程、 wxPython圖形用戶界面編程、Python多線程編程、項目實戰1 網絡爬蟲與爬取股票數據、項目實戰2 數據可視化與股票數據分析、項目實戰3 PetStore寵物商店項目、項目實戰4 開發Python版QQ2006聊天工具。
為便於讀者高效學習,快速掌握 Python編程方法,本書作者精心製作了完整的教學課件、完整的源代碼與豐富的配套視頻教程,並提供在線答疑服務。
作者簡介
作者:關東昇
關東昇:一個在IT領域摸爬滾打20多年的老程序員、培訓師、作者。精通多種IT技術。參與設計和開發北京市公交一卡通大型項目,開發國家農產品追溯系統、金融系統微博等移動客戶端項目,並在App Store發布多款遊戲和應用軟件。近期為中國移動、中國聯通、南方航空、中石油、工商銀行、平安銀行和天津港務局等企事業單位授課。著有《iOS開髮指南》《從零開始學Swift》《Android網絡遊戲開發實戰》《Cocos2d-x實戰》系列和《Kotlin從小白到大牛》等40多本計算機書籍。
目錄大綱
推薦序.1
前言.3
本書配套資源.5
本書學習路線圖7
第一篇Python基礎
第1章開篇綜述2
1.1 Python語言歷史3
1.2 Python語言設計哲學——Python之禪. 3
1.3 Python語言特點4
1.4 Python語言應用前景. 5
1.5如何獲得幫助. 6
第2章搭建開發環境7
2.1搭建Python環境7
2.2 PyCharm開發工具. 9
2.2.1下載和安裝. 10
2.2.2設置Python解釋器11
2.3 Eclipse+PyDev開發工具12
2.3.1 Eclipse下載和安裝. 13
2.3.2安裝PyDev插件. 15
2.3.3設置Python解釋器16
2.3.4設置UTF-8編碼. 17
2.4 Visual Studio Code開發工具18
2.5文本編輯工具. 21
本章小結. 21
第3章第一個Python程序22
3.1使用Python Shell實現. 22
3.2使用PyCharm實現24
3.2.1創建項目. 24
3.2.2創建Python代碼文件. 25
3.2.3編寫代碼. 26
3.2.4運行程序. 26
3.3使用Eclipse+PyDev插件實現. 27
3.3.1創建項目. 27
3.3.2創建Python代碼文件. 27
3.3.3運行程序. 28
3.4使用Visual Studio Code實現. 29
3.4.1創建Python代碼文件. 29
3.4.2運行程序. 30
3.5文本編輯工具+Python解釋器實現31
3.5.1編寫代碼. 31
3.5.2運行程序. 32
3.6代碼解釋32
本章小結. 33
第4章Python語法基礎34
4.1標識符和關鍵字. 34
4.1.1標識符34
4.1.2關鍵字34
4.2變量和常量35
4.2.1變量35
4.2.2常量35
4.3註釋. 36
4.4語句. 36
4.5模塊. 37
4.6包. 39
4.6.1創建包39
4.6.2導入包39
本章小結. 40
第5章Python編碼規範41
5.1命名規範41
5.2註釋規範42
5.2.1文件註釋. 42
5.2.2文檔註釋. 42
5.2.3代碼註釋. 44
5.2.4使用TODO註釋. 45
5.3導入規範46
5.4代碼排版47
5.4.1空行47
5.4.2空格48
5.4.3縮進49
5.4.4斷行49
本章小結. 50
第6章數據類型. 51
6.1數字類型51
6.1.1整數類型. 51
6.1.2浮點類型. 52
6.1.3複數類型. 52
6.1.4布爾類型. 52
6.2數字類型相互轉換. 53
6.2.1隱式類型轉換. 53
6.2.2顯式類型轉換. 54
6.3字符串類型54
6.3.1字符串表示方式54
6.3.2字符串格式化. 57
6.3.3字符串查找. 58
6.3.4字符串與數字相互轉換. 60
本章小結. 61
第7章運算符. 62
7.1算術運算符62
7.1.1一元運算符. 62
7.1.2二元運算符. 62
7.2關係運算符64
7.3邏輯運算符65
7.4位運算符66
7.5賦值運算符68
7.6其他運算符69
7.6.1同一性測試運算符69
7.6.2成員測試運算符71
7.7運算符優先級. 71
本章小結. 72
第8章控制語句. 73
8.1分支語句73
8.1.1 if結構. 73
8.1.2 if-else結構74
8.1.3 elif結構. 75
8.1.4三元運算符替代品——條件表達式75
8.2循環語句76
8.2.1 while語句. 76
8.2.2 for語句. 77
8.3跳轉語句78
8.3.1 break語句. 78
8.3.2 continue語句79
8.3.3 while和for中的else語句79
8.4使用範圍80
本章小結. 81
第二篇Python進階
第9章數據結構. 84
9.1元組. 84
9.1.1序列84
9.1.2創建元組. 87
9.1.3訪問元組. 88
9.1.4遍曆元組. 88
9.2列表. 89
9.2.1列表創建. 89
9.2.2追加元素. 90
9.2.3插入元素. 91
9.2.4替換元素. 91
9.2.5刪除元素. 91
9.2.6其他常用方法. 92
9.2.7列表推導式. 93
9.3集合. 94
9.3.1創建可變集合. 94
9.3.2修改可變集合. 95
9.3.3遍歷集合. 95
9.3.4不可變集合. 96
9.3.5集合推導式. 97
9.4字典. 97
9.4.1創建字典. 98
9.4.2修改字典. 99
9.4.3訪問字典. 100
9.4.4遍歷字典. 101
9.4.5字典推導式. 101
本章小結. 102
第10章函數式編程. 103
10.1定義函數103
10.2函數參數104
10.2.1使用關鍵字參數調用函數. 104
10.2.2參數默認值. 104
10.2.3可變參數. 105
10.3函數返回值106
10.3.1無返回值函數106
10.3.2多返回值函數107
10.4函數變量作用域. 108
10.5生成器109
10.6嵌套函數.111
10.7函數式編程基礎. 112
10.7.1函數類型. 112
10.7.2 Lambda表達式. 113
10.7.3三大基礎函數114
本章小結. 115
第11章面向對象編程116
11.1面向對象概述. 116
11.2面向對像三個基本特性116
11.2.1封裝性. 116
11.2.2繼承性. 116
11.2.3多態性. 117
11.3類和對象117
11.3.1定義類. 117
11.3.2創建和使用對象117
11.3.3實例變量. 118
11.3.4類變量. 119
11.3.5構造方法. 120
11.3.6實例方法. 121
11.3.7類方法. 122
11.3.8靜態方法. 123
11.4封裝性123
11.4.1私有變量. 123
11.4.2私有方法. 124
11.4.3定義屬性. 125
11.5繼承性127
11.5.1繼承概念. 127
11.5.2重寫方法. 128
11.5.3多繼承. 128
11.6多態性129
11.6.1多態概念. 130
11.6.2類型檢查. 131
11.6.3鴨子類型. 131
11.7 Python根類——object 132
11.7.1 __str__()方法133
11.7.2對像比較方法133
11.8枚舉類134
11.8.1定義枚舉類. 134
11.8.2限制枚舉類. 135
11.8.3使用枚舉類. 135
本章小結. 136
第12章異常處理. 137
12.1異常問題舉例. 137
12.2異常類繼承層次. 138
12.3常見異常139
12.3.1 AttributeError異常139
12.3.2 OSError異常. 140
12.3.3 IndexError異常. 140
12.3.4 KeyError異常. 141
12.3.5 NameError異常141
12.3.6 TypeError異常141
12.3.7 ValueError異常. 142
12.4捕獲異常142
12.4.1 try-except語句142
12.4.2多except代碼塊. 143
12.4.3 try-except語句嵌套145
12.4.4多重異常捕獲146
12.5異常堆棧跟踪. 147
12.6釋放資源148
12.6.1 finally代碼塊148
12.6.2 else代碼塊149
12.6.3 with as代碼塊自動資源管理. 150
12.7自定義異常類. 151
12.8顯式拋出異常. 151
本章小結. 152
第13章常用模塊. 153
13.1 math模塊. 153
13.1.1舍入函數. 153
13.1.2冪和對數函數154
13.1.3三角函數. 154
13.2 random模塊. 155
13.3 datetime模塊. 156
13.3.1 datetime、date和time類157
13.3.2日期時間計算160
13.3.3日期時間格式化和解析. 160
13.3.4時區162
13.4 logging日誌模塊163
13.4.1日誌級別. 163
13.4.2日誌信息格式化165
13.4.3日誌重定位. 166
13.4.4使用配置文件166
本章小結. 168
第14章正則表達式. 169
14.1正則表達式字符串. 169
14.1.1元字符. 169
14.1.2字符轉義. 170
14.1.3開始與結束字符170
14.2字符類171
14.2. 1定義字符類. 171
14.2.2字符類取反. 172
14.2.3區間172
14.2.4預定義字符類173
14.3量詞174
14.3.1量詞的使用. 174
14.3.2貪婪量詞和懶惰量詞175
14.4分組176
14.4.1分組的使用. 176
14.4.2分組命名. 177
14.4.3反向引用分組178
14.4.4非捕獲分組. 179
14.5 re模塊180
14.5.1 search()和match()函數180
14.5.2 findall()和finditer()函數. 181
14.5.3字符串分割. 182
14.5.4字符串替換. 182
14.6編譯正則表達式. 183
14.6.1已編譯正則表達式對象. 184
14.6.2編譯標誌. 185
本章小結. 188
第15章文件操作與管理189
15.1文件操作189
15.1.1打開文件. 189
15.1.2關閉文件. 191
15.1.3文本文件讀寫192
15.1.4二進製文件讀寫193
15.2 os模塊. 193
15.3 os.path模塊194
本章小結. 196
第三篇Python高級實用庫與框架
第16章數據交換格式. 198
16.1 CSV數據交換格式. 199
16.1.1 reader()函數. 199
16.1. 2 writer()函數200
16.2 XML數據交換格式201
16.2.1 XML文檔結構201
16.2.2解析XML文檔. 203
XPath 205
16.2.3
16.3 JSON數據交換格式. 207
16.3.1 JSON文檔結構. 207
16.3.2 JSON數據編碼. 208
16.3.3 JSON數據解碼. 210
16.4配置文件212
16.4.1配置文件結構212
16.4.2讀取配置文件212
16.4.3寫入配置文件214
本章小結. 214
第17章數據庫編程. 215
17.1數據持久化技術概述215
17.2 MySQL數據庫管理系統215
17.2.1數據庫安裝與配置216
17.2.2連接MySQL服務器. 220
17.2.3常見的管理命令221
Python DB-API. 224
17.3
17.3.1建立數據連接225
17.3.2創建游標. 226
17.4案例:MySQL數據庫CRUD操作227
17.4.1安裝PyMySQL模塊. 227
17.4.2數據庫編程的一般過程. 228
17.4.3數據查詢操作228
17.4.4數據修改操作231
17.5 NoSQL數據存儲234
17.5.1 dbm數據庫的打開和關閉. 234
17.5.2 dbm數據存儲. 234
本章小結. 235
第18章網絡編程. 236
18.1網絡基礎236
18.1.1網絡結構. 236
18.1.2 TCP/IP協議237
18.1.3 IP地址237
18.1.4端口238
18.2 TCP Socket低層次網絡編程238
18.2.1 TCP Socket通信概述238
18.2.2 TCP Socket通信過程238
18.2.3 TCP Socket編程API 239
18.2.4案例:簡單聊天工具. 240
18.2.5案例:文件上傳工具. 242
18.3 UDP Socket低層次網絡編程243
18.3.1 UDP Socket編程API 243
18.3.2案例:簡單聊天工具. 244
18.3.3案例:文件上傳工具. 245
18.4訪問互聯網資源. 247
18.4.1 URL概念247
18.4.2 HTTP/HTTPS協議. 247
18.4.3使用urllib庫248
18.4.4發送GET請求248
18.4.5發送POST請求249
18.4.6實例:Downloader 250
本章小結. 250
第19章wxPython圖形用戶界面編程. 251
19.1 Python圖形用戶界面開發工具包. 251
19.2 wxPython安裝. 251
19.3 wxPython基礎. 252
19.3.1 wxPython類層次結構. 252
19.3.2第一個wxPython程序253
19.3.3 wxPython界面構建層次結構256
19.4事件處理257
19.4.1一對一事件處理257
19.4.2一對多事件處理258
19.4.3示例:鼠標事件處理. 259
19.5佈局管理260
19.5.1 Box佈局器. 261
19.5.2 StaticBox佈局264
19.5.3 Grid佈局265
19.5.4 FlexGrid佈局266
19.6 wxPython控件. 268
19.6.1靜態文本和按鈕268
19.6.2文本輸入控件269
19.6.3複選框和單選按鈕270
19.6.4下拉列表. 272
19.6.5列表274
19.6.6靜態圖片控件275
19.7高級窗口277
19.7.1分隔窗口. 277
19.7.2使用樹. 278
19.7.3使用網格. 281
19.8使用菜單284
19.9使用工具欄286
本章小結. 288
第20章Python多線程編程289
20.1基礎知識289
20.1.1進程289
20.1.2線程290
20.2 threading模塊290
20.3創建線程291
20.3.1自定義函數作為線程體. 291
20.3.2繼承Thread線程類實現線程體293
20.4線程管理294
20.4.1等待線程結束294
20.4.2線程停止. 296
20.5線程安全297
20.5.1臨界資源問題297
20.5.2多線程同步. 299
20.6線程間通信301
20.6.1使用Condition實現線程間通信301
20.6.2使用Event實現線程間通信305
本章小結. 306
第四篇項目實戰
第21章項目實戰1:網絡爬蟲與爬取股票數據308
21.1網絡爬蟲技術概述. 308
21.1.1網絡通信技術308
21.1.2多線程技術. 308
21.1.3數據交換技術308
21.1.4 Web前端技術. 309
21.1.5數據分析技術310
21.1.6數據存儲技術311
21.2爬取數據311
21.2.1網頁中靜態和動態數據. 311
21.2.2使用urllib爬取數據. 312
21.2. 3使用Selenium爬取數據. 316
21.3分析數據319
21.3.1使用正則表達式319
21.3.2使用BeautifulSoup庫. 321
21.4項目實戰:爬取納斯達克股票數據323
21.4.1爬取數據. 323
21.4 .2檢測數據是否更新323
21.4.3分析數據. 326
21.4.4保存數據到數據庫327
21.4.5爬蟲工作計劃任務330
第22章項目實戰2:數據可視化與股票數據分析334
22.1使用Matplotlib繪製圖表. 334
22.1.1安裝Matplotlib . 334
22.1.2圖表基本構成要素335
22.1.3繪製折線圖. 336
22.1.4繪製柱狀圖. 337
22.1.5繪製餅狀圖. 338
22.1.6繪製散點圖. 339
22.1.7繪製子圖表. 340
22.2項目實戰:納斯達克股票數據分析343
22.2.1從數據庫提取股票數據. 343
22.2.2繪製股票成交量折線圖. 344
22.2.3繪製股票OHLC柱狀圖345
22.2.4繪製股票K線圖. 348
第23章項目實戰3:PetStore寵物商店項目352
23.1系統分析與設計. 352
23.1.1項目概述. 352
23.1.2需求分析. 353
23.1.3原型設計. 353
23.1.4數據庫設計. 355
23.1 .5架構設計. 357
23.1.6系統設計. 357
23.2任務1:創建數據庫. 359
23.2.1迭代1.1:安裝和配置MySQL數據庫. 359
23.2.2迭代1.2:編寫數據庫DDL腳本359
23.2.3迭代1.3 :插入初始數據到數據庫360
23.3任務2:初始化項目. 360
23.3.1迭代2.1:添加資源圖片. 361
23.3.2迭代2.2:添加包361
23.4任務3:編寫數據持久層代碼361
23.4.1迭代3.1 :數據庫配置文件. 361
23.4.2迭代3.2:編寫DAO基類361
23.4.3迭代3.3:用戶管理DAO . 362
23.4.4迭代3.4:商品管理DAO . 363
23.4.5迭代3.5:訂單管理DAO . 366
23.4.6迭代3.6:訂單明細管理DAO 367
23.5任務4:編寫表示層代碼. 368
23.5.1迭代4.1:編寫啟動模塊. 368
23.5.2迭代4.2:編寫自定義窗口類——MyFrame . 368
23.5.3迭代4.3:用戶登錄窗口369
23.5.4迭代4.4:商品列表窗口. 372
23.5.5迭代4.5:商品購物車窗口. 379
23.6任務5:發布可執行文件. 386
23.6.1迭代5.1:處理TODO任務386
23.6.2迭代5.2:發佈為可執行文件386
第24章項目實戰4:開發Python版QQ2006聊天工具. 390
24.1系統分析與設計. 390
24.1.1項目概述. 390
24.1.2需求分析. 390
24.1.3原型設計. 392
24.1.4數據庫設計. 393
24.1.5網絡拓撲圖. 394
24.1.6系統設計. 395
24.2任務1:創建服務器端數據庫395
24.2.1迭代1.1:安裝和配置MySQL數據庫. 395
24.2.2迭代1.2:編寫數據庫DDL腳本395
24.2.3迭代1.3:插入初始數據到數據庫396
24.3任務2:初始化項目. 397
24.3.1迭代2.1:添加資源圖片. 397
24.3.2迭代2.2:添加包397
24.4任務3:編寫服務器端數據持久層. 397
24.4.1迭代3.1:數據庫配置文件. 397
24.4.2迭代3.2:編寫base_dao模塊397
24.4.3迭代3.3:編寫用戶管理DAO類. 398
24.5任務4:客戶端UI實現. 400
24.5.1迭代4.1:編寫my_frame模塊400
24.5.2迭代4.2:登錄窗口實現401
24.5.3迭代4.3:好友列表窗口實現404
24.5.4迭代4.4:聊天窗口實現. 407
24.6任務5:用戶登錄過程實現409
24.6.1迭代5.1:客戶端啟動. 409
24.6.2迭代5.2:客戶端登錄編程. 410
24.6.3迭代5.3:服務器端啟動. 412
24.6.4迭代5.4:服務器端驗證編程413
24.7任務6:刷新好友列表. 415
24.7.1迭代6.1:刷新好友列表服務器端編程. 415
24.7.2迭代6.2:刷新好友列表客戶端編程416
24.8任務7:聊天過程實現. 419
24.8.1迭代7.1:客戶端用戶1向服務器發送消息. 420
24.8.2迭代7.2:服務器端接收用戶1消息與轉發給用戶3消息. 421
24.8.3迭代7.3:客戶端用戶3接收用戶1消息. 422
24.9任務8:用戶下線423
24.9.1迭代8.1:客戶端編程. 424
24.9.2迭代8.2:服務器端編程. 425