Python開發技術大全

吳仲治

  • 出版商: 機械工業
  • 出版日期: 2020-08-01
  • 定價: $894
  • 售價: 8.0$715
  • 語言: 簡體中文
  • 頁數: 564
  • ISBN: 7111661524
  • ISBN-13: 9787111661528
  • 相關分類: Python程式語言
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

本書從Python語言的基礎語法講起,逐步深入地介紹了Python各種庫,並且介紹了這些庫的實戰案例,
重點介紹了爬蟲開發, GUI應用程序開發,容器管理, Redis數據庫操作以及數據處理和神經網絡方面的內容。
讓讀者不但可以系統地學習Python編程的相關知識,而且還能對Python在各個領域的應用有更為深入的理解。
本書分為21章,涵蓋的主要內容有Python語言基礎和Python在多個領域的應用。
重點介紹了多線程編程; GUI應用程序開發;web編程;
爬蟲開發;容器管理;數據處理以及神經網絡上的應用。
本書內容通俗易懂,案例豐富,實用性強,
特別適合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