解鎖Python編程:從入門到數據處理和網絡爬蟲

[美] 瑞安·米切爾 (Ryan Mitchell)著 常崢 王晶一 譯

  • 解鎖Python編程:從入門到數據處理和網絡爬蟲-preview-1
  • 解鎖Python編程:從入門到數據處理和網絡爬蟲-preview-2
  • 解鎖Python編程:從入門到數據處理和網絡爬蟲-preview-3
解鎖Python編程:從入門到數據處理和網絡爬蟲-preview-1

相關主題

商品描述

《解鎖Python編程:從入門到數據處理和網絡爬蟲》先為你講解編程基礎與常用工具,再用通俗易懂的方式闡釋 Python 核心概念,同時穿插流行文化梗和作者的行業趣聞,讓學習趣味十足。本書是獨立開發者與團隊協作開發者都不容錯過的入門必讀之作。 通過本書,你將學會: ? 運用計算機科學基礎概念,深入理解 Python 及其底層運行機制。 ? 通過代碼示例快速上手,掌握 Python 數據結構、循環、函數、類等核心語法。 ? 讀寫文件、數據庫與日誌數據。 ? 學習單元測試、多線程、多進程、異常處理等 Python 進階特性。 ? 使用 Requests、Flask、Django、Scrapy 等主流第三方庫與 Web 開發工具。 ? 借助 Scikit-learn、NumPy、Matplotlib、Pandas 開展數據科學與機器學習實踐。

作者簡介

瑞安·米切爾(Ryan Mitchell)是Unlocking Python: A Comprehensive Guide for Beginners (Wiley出版社)和Web Scraping with Python(O’Reilly出版社)的作者。她在LinkedIn Learning平臺上開設了6門課程,其中包括該平臺****的Python入門課程之一“Python Essential Training”。作為網絡爬蟲、應用安全和數據科學領域的專家,Ryan曾在Data Day Texas、DEF CON等眾多行業活動中主持工作坊並發表演講。 Ryan擁有哈佛大學擴展學院軟件工程碩士學位和歐林工程學院工程學士學位。她目前是Gerson Lehrman集團的首席軟件工程師,在人工智能與數據平臺團隊從事後端開發和數據科學工作。

目錄大綱

目    錄

 

第Ⅰ部分  編程

第1章  編程導論  2

1.1  作為職業的編程  2

1.2  計算機如何工作  5

1.3  現代計算簡史  9

1.3.1  Unix操作系統  9

1.3.2  現代編程  10

1.4  談論編程語言  11

1.5  程序員的問題求解  13

第2章  編程工具  16

2.1  Shell  16

2.2  版本控制系統  19

2.3  集成開發環境  26

2.4  Web瀏覽器  27

第3章  關於Python  29

3.1  Python軟件基金會  30

3.2  Python之禪  30

3.3  Python解釋器  32

3.4  Python標準庫  33

3.5  第三方庫  34

3.6  版本與開發  35

 

第Ⅱ部分  Python

第4章  安裝與運行Python  37

4.1  安裝Python  37

4.1.1  Windows  37

4.1.2  macOS  38

4.1.3  Linux  39

4.2  安裝和使用pip  39

4.2.1  Windows  40

4.2.2  macOS  40

4.2.3  Linux  40

4.3  安裝和使用Jupyter處理IPython文件  41

4.4  虛擬環境  43

4.5  Anaconda  45

第5章  Python快速入門  47

5.1  變量  47

5.2  數據類型  49

5.3  運算符  53

5.3.1  算術運算符  53

5.3.2  運算符和賦值  55

5.3.3  比較運算符  56

5.3.4  同一性運算符  57

5.3.5  布爾運算符  58

5.3.6  成員運算符  59

5.4  控制流  59

5.4.1  if和else  60

5.4.2  for  61

5.4.3  while  61

5.5  函數  62

5.6  類  64

5.7  數據結構  66

5.7.1  列表  67

5.7.2  字典  68

5.7.3  元組  69

5.7.4  集合  70

5.8  練習  71

第6章  列表與字符串  73

6.1  字符串操作  73

6.2  列表操作  76

6.3  切片  78

6.4  列表推導式  81

6.5  練習  84

第7章  字典、集合與元組  85

7.1  字典  85

7.1.1  字典推導式  88

7.1.2  歸約至字典  89

7.2  集合  91

7.3  元組  93

7.4  練習  94

第8章  其他類型的對象  97

8.1  其他數值  97

8.2  日期  101

8.3  字節  104

8.4  練習  107

第9章  可疊代對象、疊代器、生成器與循環  108

9.1  可疊代對象和疊代器  108

9.2  生成器  110

9.3  使用pass、break、else和continue進行循環  112

9.4  賦值表達式  115

9.5  海象運算符  115

9.6  遞歸  116

9.7  練習  120

第10章  函數  121

10.1  位置參數和關鍵字參數  121

10.2  函數作為一等對象  126

10.3  lambda函數  129

10.4  命名空間  130

10.5  裝飾器  133

10.6  練習  138

第11章  類  140

11.1  靜態方法和屬性  142

11.2  繼承  144

11.3  多重繼承  146

11.4  封裝  150

11.5  多態  153

11.6  練習  155

第12章  編寫更簡潔的代碼  156

12.1  PEP 8與代碼風格  156

12.2  註釋與文檔字符串  157

12.3  文檔  160

12.4  代碼檢查  161

12.5  格式化  164

12.6  類型提示  165

 

第Ⅲ部分  高級主題

第13章  錯誤與異常  170

13.1  處理異常  170

13.2  else與finally  173

13.3  引發異常  175

13.4  自定義異常  177

13.5  異常處理模式  179

13.6  練習  185

第14章  模塊與包  187

14.1  模塊  187

14.2  包  191

14.3  安裝包  196

14.4  練習  201

第15章  文件操作  202

15.1  讀取文件  202

15.2  寫入文件  206

15.3  二進制文件  208

15.4  數據緩沖  210

15.5  創建與刪除文件和目錄  212

15.6  數據的序列化、反序列化與封存處理  214

15.7  練習  216

第16章  日誌  218

16.1  logging模塊  218

16.2  日誌處理器  223

16.3  格式化  225

16.4  練習  229

第17章  線程與進程  230

17.1  線程與進程的工作原理  230

17.2  線程模塊  231

17.3  鎖  235

17.4  隊列  237

17.5  多進程模塊  239

17.6  練習  246

第18章  數據庫  247

18.1  安裝與使用SQLite  248

18.1.1  安裝SQLite  248

18.1.2  使用SQLite  249

18.2  查詢語言語法  251

18.3  使用Python操作SQLite  253

18.4  練習  259

第19章  單元測試  260

19.1  單元測試框架  261

19.2  測試準備與清理  264

19.3  模擬方法  266

19.4  模擬的副作用  270

 

第Ⅳ部分  Python框架

第20章  REST API與Flask  274

20.1  HTTP與API  274

20.2  Flask應用程序入門  278

20.3  Flask中的API  281

20.4  數據庫  283

20.5  認證  286

20.6  會話  288

20.7  模板  292

第21章  Django  295

21.1  安裝Django並啟動Django  296

21.2  數據庫和遷移  300

21.3  Django管理界面  303

21.4  模型  304

21.5  更多視圖和模板  306

21.6  更多資源  310

第22章  網頁抓取與Scrapy  311

22.1  安裝和使用Scrapy  312

22.2  解析HTML  314

22.3  Item  318

22.4  使用Scrapy進行爬取  319

22.5  項目管道  322

第23章  NumPy和Pandas數據分析  325

23.1  NumPy數組  326

23.2  Pandas數據框  329

23.3  清洗  331

23.4  過濾和查詢  335

23.5  分組和聚合  337

第24章  使用Matplotlib和Scikit-learn進行機器學習  341

24.1  機器學習模型的類型  342

24.2  使用Matplotlib進行探索性分析  344

24.3  使用Scikit-learn構建監督模型  351

24.4  使用Scikit-learn評估分類模型  356