Python開發技術大全

Python開發技術大全

《Python開發技術大全》一書由吳仲治編寫,由機械工業出版社出版發行。

基本介紹

  • 中文名:Python開發技術大全 
  • 作者:吳仲治
  • 出版時間:2020年8月 
  • 出版社機械工業出版社
  • 頁數:564 頁
  • ISBN:9787111661528
  • 類別:計算機Python語言
  • 定價:149 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

本書從Python語言的基礎語法講起,逐步深入到Python的各種庫,而且還介紹了這些庫的實戰案例,並重點介紹了爬蟲開發、UI應用程式開發、容器管理、Redis資料庫操作,以及數據處理和神經網路等相關內容。另外,作者專門為本書錄製了約50小時的配套教學視頻,以幫助讀者更加高效、直觀地學習。閱讀完本書,讀者不但可以系統地學習Python編程的相關知識,而且還能對Python語言在各個領域的套用有更加深入的理解。
本書共21章,分為2篇。第1篇為“Python編程基礎”,涵蓋的主要內容有Python語言基礎、基本數據類型、函式、模組、包、檔案操作、基礎庫、異常處理、類和對象;第2篇為“Python編程高級主題”,涵蓋的主要內容有多執行緒、多進程、疊代器、生成器、裝飾器、數據檔案操作、軟體測試、網路編程、容器操作、Scrapy爬蟲框架、Flask Web開發框架、鍵值資料庫Redis、圖形界面套用和數據處理。
本書內容豐富,講解通俗易懂,案例典型且實用性強,特別適合Python語言的入門讀者和進階讀者閱讀,也適合自動化測試人員和自動運維人員閱讀。另外,本書還適合作為相關培訓機構的教材使用。

圖書目錄

第1篇 Python編程基礎
第1章 Python語言基礎 2
1.1 Python語言介紹 2
1.2 Python版本介紹 3
1.2.1 Python語言的版本 3
1.2.2 Python的實現版本 4
1.3 集成開發環境 9
1.3.1 PyCharm 9
1.3.2 Anaconda 10
1.4 代碼的運行方式 17
1.5 網頁運行方式 19
1.6 基本語法 23
1.7 Python之禪 26
第2章 基本數據類型 28
2.1 整數類型 28
2.1.1 整數的表示法 28
2.1.2 數值運算 29
2.1.3 位運算 31
2.1.4 移位運算 33
2.1.5 類型轉換 34
2.1.6 其他進制表示法 35
2.1.7 小整數池 39
2.1.8 統計成績的例子 40
2.1.9 韓信點兵的故事 41
2.2 布爾類型 42
2.2.1 布爾運算 42
2.2.2 類型轉換 44
2.2.3 例子:誰在說謊 44
2.3 位元組流 46
2.4 浮點數 50
2.4.1 基本運算 51
2.4.2 其他運算 52
2.4.3 類型轉換 53
2.4.4 例子:求某個數的平方根 53
2.5 列表 54
2.5.1 列表特性 55
2.5.2 常見操作 56
2.5.3 找出丟失的數 60
2.5.4 背包問題 61
2.6 字元串 63
2.6.1 str類型的字元串 64
2.6.2 str類型的相關接口函式 64
2.6.3 bytes類型 68
2.6.4 str類型和bytes類型的轉換 69
2.7 元組 70
2.7.1 元組的表示法 70
2.7.2 元組接口函式 71
2.8 集合 72
2.8.1 創建集合 72
2.8.2 基本操作 73
2.8.3 例子:刪除重複元素 79
2.9 字典 80
2.9.1 創建字典 81
2.9.2 基本操作 81
2.9.3 例子:合併結果 86
2.9.4 例子:如何安全過河 87
2.10 NoneType類型 94
2.11 變數、對象和值的關係 94
第3章 函式 99
3.1 函式的定義和使用 99
3.2 函式的返回值 100
3.3 函式的參數 100
3.3.1 位置參數 101
3.3.2 將位置參數當作元組 101
3.3.3 調用時使用元組和列表 103
3.3.4 關鍵字參數 104
3.3.5 將實參當作字典 104
3.3.6 調用時使用字典 105
3.3.7 默認值 105
3.4 常見的系統自帶函式 106
3.4.1 數據對象有關的函式 106
3.4.2 數學計算有關的函式 109
3.4.3 容器類型有關的函式 111
3.4.4 屬性操作 116
3.5 lambda函式 117
3.6 遞歸調用 118
3.6.1 遞歸調用介紹 118
3.6.2 例子 119
第4章 模組和包 126
4.1 模組 126
4.2 包 128
4.3 軟體包的安裝 129
4.3.1 複製原始碼到系統目錄 129
4.3.2 使用PIP進行安裝 130
4.3.3 使用easy_install和setup進行安裝 134
第5章 檔案操作 135
5.1 檔案的基本操作 135
5.2 打開檔案 136
5.3 檔案對象的操作 137
5.4 關閉檔案 142
5.5 特殊檔案 143
5.6 檔案對象的屬性 145
第6章 基礎庫 146
6.1 正則表達式庫 146
6.1.1 元字元和語法 147
6.1.2 C風格接口函式 154
6.1.3 面向風格接口函式 155
6.1.4 re.Match對象 155
6.2 數學庫 157
6.3 時間庫 159
6.3.1 時間表示法 159
6.3.2 接口函式 160
6.4 日期庫 162
6.5 二叉樹庫 162
6.6 串列化庫 164
6.6.1 基本流程 164
6.6.2 pickle用法 165
6.7 隨機數庫 166
6.7.1 生成隨機整數和隨機實數 167
6.7.2 其他形式的隨機 169
6.7.3 偽隨機問題 170
6.7.4 例子:計算面積 171
6.7.5 遊戲:五對胡 172
第7章 異常處理 177
7.1 Python中的異常處理 177
7.1.1 捕捉異常 177
7.1.2 沒有異常才執行的分支 180
7.1.3 無論有無異常都要執行的分支 181
7.2 拋出異常 182
7.3 常見的系統定義異常 183
第8章 類和對象 187
8.1 類的定義和實例創建 187
8.2 類的屬性 189
8.3 初始化函式和銷毀函式 190
8.4 實例對象的屬性 192
8.4.1 類屬性和實例對象屬性的關係 192
8.4.2 self在類定義中表示當前對象 194
8.4.3 通過delattr()、setattr()等接口函式來操作屬性 196
8.5 靜態方法 198
8.6 類方法 199
8.7 訪問控制 199
8.8 唯讀屬性 200
8.8.1 使用@property修飾符 200
8.8.2 重新定義__setattr__()函式 201
8.9 類屬性的安全檢查 202
8.10 派生類 203
8.11 多重繼承 204
第2篇 Python編程高級主題
第9章 多執行緒 208
9.1 執行緒介紹 208
9.2 Python中的執行緒 209
9.2.1 主執行緒 209
9.2.2 執行緒狀態 209
9.3 thread包 210
9.3.1 執行緒的啟動 211
9.3.2 執行緒的退出 212
9.4 threading包 213
9.4.1 創建執行緒實例對象 213
9.4.2 派生自己的執行緒類 216
9.4.3 配置執行緒 217
9.4.4 啟動執行緒 218
9.4.5 停止執行緒 219
9.4.6 等待執行緒結束 220
9.4.7 其他接口函式 221
9.5 執行緒同步 222
9.5.1 執行緒鎖thread.Lock 223
9.5.2 執行緒鎖threading.Lock 224
9.5.3 可重入鎖threading.RLock 225
9.5.4 條件變數threading.Condition 227
9.5.5 信號量threading.Semaphore 228
9.5.6 事件threading.Event 231
9.6 執行緒安全 233
9.7 死鎖 236
第10章 多進程 239
10.1 進程的概念 239
10.2 subprocess模組 240
10.2.1 面向過程的接口函式 241
10.2.2 Popen類 244
10.3 multiprocessing模組 247
10.3.1 創建進程 247
10.3.2 進程的屬性 249
10.3.3 進程的接口函式 253
10.3.4 進程池 258
10.3.5 進程通信 260
10.4 os模組 265
10.4.1 啟動進程——system() 265
10.4.2 啟動進程並得到輸出——popen () 265
10.4.3 得到當前進程ID——getpid () 266
10.4.4 得到父進程ID——getppid () 266
第11章 疊代器和生成器 268
11.1 疊代器 268
11.2 生成器 269
11.2.1 定義生成器 270
11.2.2 接口函式 270
第12章 裝飾器 275
12.1 起源 275
12.2 被裝飾函式帶有參數 276
12.3 裝飾函式帶有參數 279
12.4 裝飾函式帶有返回值 280
12.5 使用多個裝飾器 281
12.6 常用裝飾器 282
12.6.1 類裝飾器 282
12.6.2 退出時執行的函式 284
12.6.3 單例模式 284
12.6.4 執行時間限制 285
12.6.5 執行時間標定 286
12.6.6 自動重新運行 287
12.6.7 狀態機 288
第13章 數據檔案操作 293
13.1 csv檔案的處理 293
13.2 yaml檔案的處理 296
13.3 json檔案的處理 298
第14章 軟體測試 301
14.1 無框架的測試 301
14.2 PyUnit測試框架 305
14.2.1 運行方式 307
14.2.2 生成測試報告 309
14.2.3 測試步驟 312
14.2.4 斷言 317
14.2.5 測試用例的接口函式 328
14.2.6 覆蓋率 330
14.3 Pytest測試框架 333
14.3.1 測試用例 333
14.3.2 選擇執行的測試用例 335
14.3.3 生成測試報告 339
14.3.4 測試步驟 341
14.3.5 斷言 345
14.3.6 覆蓋率 346
14.3.7 外掛程式 349
第15章 網路編程 357
15.1 TCP/IP協定介紹 357
15.2 socket介紹 361
15.3 TCP echo伺服器 363
15.4 簡單的TCP客戶端 364
15.5 UDP版的echo伺服器 365
第16章 容器操作 367
16.1 Docker的安裝 367
16.2 Docker的基本概念 369
16.3 docker-py庫 370
16.3.1 建立連線 370
16.3.2 對Docker鏡像的操作 371
16.3.3 運行Docker鏡像 377
16.4 kubernetes庫 379
第17章 Scrapy爬蟲框架 388
17.1 Scrapy的安裝 388
17.2 工作原理 390
17.3 一個簡單的例子 391
17.4 Scrapy的架構圖 393
17.5 爬蟲 395
17.5.1 點讚統計例子 395
17.5.2 爬蟲類 396
17.6 一個完整的項目 398
17.7 結果數據 400
17.8 選擇器 402
17.8.1 介紹 403
17.8.2 text() 404
17.8.3 extract()/extract_first() 405
17.8.4 @屬性 406
17.8.5 元素[@屬性] 406
17.9 設定 407
17.9.1 命令行方式 407
17.9.2 爬蟲範圍內的設定 408
17.9.3 項目範圍內的設定 408
17.9.4 命令默認設定 409
17.9.5 全局默認設定 409
17.9.6 讀取配置 411
17.9.7 常用配置 412
17.10 命令行工具 414
17.10.1 創建項目 414
17.10.2 創建爬蟲 415
17.10.3 列出爬蟲模板 416
17.10.4 查看某個爬蟲模板 417
17.10.5 基於模板創建爬蟲 418
17.10.6 啟動爬蟲 418
17.10.7 爬蟲列表 419
17.10.8 爬取指定頁面 420
17.10.9 在瀏覽器中顯示頁面 421
17.10.10 啟動互動式shell 422
17.10.11 runspider 423
17.10.12 標定Scrapy的性能 424
17.10.13 其他命令 425
17.11 爬取北京公交線路數據 426
第18章 Flask Web開發框架 429
18.1 Flask的安裝 429
18.2 最簡單的Flask套用 430
18.3 路由 430
18.3.1 動態路由 431
18.3.2 限定類型 432
18.3.3 地址尾部的“/” 433
18.4 運行套用的參數 435
18.5 命令行方式運行 436
18.6 HTTP的方法 437
18.7 靜態檔案 437
18.8 模板 438
18.8.1 變數 439
18.8.2 表達式 440
18.8.3 子模板 442
第19章 鍵值資料庫Redis 444
19.1 介紹 444
19.2 伺服器的安裝 445
19.2.1 伺服器容器下載 446
19.2.2 啟動Redis容器 446
19.3 Python客戶端的安裝 448
19.4 元操作 448
19.5 字元串數據的操作 449
19.6 哈希數據的操作 456
19.7 列表數據的操作 458
19.8 集合數據的操作 460
19.9 訂閱發布 462
19.9.1 基本用法 462
19.9.2 訂閱多個頻道 465
19.9.3 頻道使用通配符 466
19.10 設定時效 467
19.11 管道模式 467
第20章 圖形界面套用 469
20.1 Tk和Tkinter 469
20.1.1 基本程式結構 470
20.1.2 常用組件 471
20.1.3 布局 487
20.1.4 遊戲2048 489
20.2 wxPython 494
20.2.1 程式基本結構 494
20.2.2 基本用戶界面元素 495
20.3 PyQt 508
20.3.1 基本程式結構 508
20.3.2 常用組件 509
20.4 小結 517
第21章 數據處理 518
21.1 matplotlib 518
21.2 NumPy 526
21.2.1 ndarray的構造 526
21.2.2 ndarray的一些屬性 531
21.2.3 ndarray的一些操作 532
21.2.4 NumPy在金融領域的套用 534
21.2.5 NumPy中的傅立葉變換 537
21.2.6 神經網路套用 541

作者簡介

吳仲治 一個擁有20多年軟體開發經驗的老兵。使用過Fortran、Pascal、Perl、C/C++和C#等高級開發語言。在電信、網際網路和雲計算等領域有豐富的開發經驗。近十年主要從事Python開發工作,是一個深度使用Python的程式設計師。目前正在享受Python及其各種庫帶來的開發效率與便利。

相關詞條

熱門詞條

聯絡我們