python經典例項 python經典例項

2021-10-25 08:50:35 字數 4733 閱讀 7289

本書是python經典例項解析,採用基於例項的方法編寫,每個例項都會解決具體的問題和難題。主要內容有:數字、字串和元組,語句與語法,函式定義,列表、集、字典,使用者輸入和輸出等內建資料結構,類和物件,函式式和反應式程式設計,web服務,等等。

python是傑出的指令碼語言,可以為應用程式注入動力,提供出色的速度、安全性和可擴充套件性。本書從解決具體問題角度出發,通過一系列例項來剖析python,帶領讀者在特定的情境中全面深入了解其具體的語言特性,無論是新手還是老手都能從中獲益。

●了解python語法的複雜細節及其合理用法

●通過python中的函式提高**的可讀性

●使用內建資料結構有效地運算元據

●熟悉python中的程式設計技術

●處理json、xml等多種不同檔案格式

●編寫測試以確保程式按預期的方式工作

●使用python整合應用軟體

史蒂文・f.洛特(steven f. lott),20世紀70年代開始程式設計生涯,作為軟體工程師和架構師,參與過的大小專案眾多。近十多年一直致力於用python解決商業問題,對python語言有深入體會和豐富經驗。目前專注於利用python來實現微服務和etl管道。

第 1 章 數字、字串和元組 1

1.1 引言 1

1.2 建立有意義的名稱和使用變數 2

1.3 使用大整數和小整數 5

1.4 在浮點數、小數和分數之間選擇 8

1.5 在真除法和floor除法之間選擇 13

1.6 重寫不可變的字串 15

1.7 使用正規表示式解析字串 19

1.8 使用"template".format()構建複雜的字串 22

1.9 通過字元列表構建複雜的字串 25

1.10 使用鍵盤上沒有的unicode字元 27

1.11 編碼字串――建立ascii和utf-8位元組 29

1.12 解碼位元組――如何根據位元組獲得正確的字元 31

1.13 使用元組 33

第 2 章 語句與語法 36

2.1 引言 36

2.2 編寫python指令碼和模組檔案――語法基礎 37

2.3 編寫長行** 40

2.4 新增描述和文件 44

2.5 在文件字串中編寫rst標記 48

2.6 設計複雜的if…elif鏈 51

2.7 設計正確終止的while語句 54

2.8 避免break語句帶來的潛在問題 58

2.9 利用異常匹配規則 61

2.10 避免except:子句帶來的潛在問題 64

2.11 使用raise from語句鏈結異常 65

2.12 使用with語句管理上下文 67

第 3 章 函式定義 70

3.1 引言 70

3.2 使用可選引數設計函式 70

3.3 使用靈活的關鍵字引數 75

3.4 使用*分隔符強制使用關鍵字引數 77

3.5 編寫顯式的函式引數型別 80

3.6 基於偏函式選擇引數順序 84

3.7 使用rst標記編寫清晰的文件字串 87

3.8 圍繞python棧限制設計遞迴函式 91

3.9 根據指令碼/庫轉換規則編寫可重用指令碼 94

第 4 章 內建資料結構――列表、集、字典 98

4.1 引言 98

4.2 選擇資料結構 99

4.4 切片和分割列表 106

4.5 從列表中刪除元素――del語句、remove()、pop()和filter() 109

4.6 反轉列表的副本 114

4.7 使用set方法和運算子 116

4.8 從集中移除元素――remove()、pop()和差集 120

4.9 建立字典――插入和更新 122

4.10 從字典中移除元素――pop()方法和del語句 126

4.11 控制字典鍵的順序 128

4.12 處理doctest示例中的字典和集 130

4.13 理解變數、引用和賦值 132

4.14 製作物件的淺副本和深副本 134

4.15 避免可變預設值作為函式引數 137

第 5 章 使用者輸入和輸出 141

5.1 引言 141

5.2 使用print()函式的功能 141

5.3 使用input()和getpass()收集使用者輸入 145

5.4 使用"format".format_map(vars())進行除錯 150

5.5 使用argparse模組獲取命令列輸入 151

5.6 使用cmd模組建立命令列應用程式 156

5.7 使用作業系統環境設定 161

第 6 章 類和物件的基礎知識 165

6.1 引言 165

6.2 使用類封裝資料和操作 166

6.3 設計操作類 169

6.4 設計資料類 174

6.5 使用__slots__優化物件 177

6.6 使用更複雜的集合 180

6.7 擴充套件集合――統計資料的列表 183

6.8 使用特性計算惰性屬性 186

6.9 使用可設定的特性更新及早屬性 190

第 7 章 高階類設計 195

7.1 引言 195

7.2 在繼承和擴充套件之間選擇――is-a問題 195

7.3 通過多重繼承分離關注點 201

7.4 利用python的鴨子型別 205

7.5 管理全域性單例物件 208

7.6 使用更複雜的結構――列表對映 212

7.7 建立具有可排序物件的類 214

7.8 定義有序集合 218

7.9 從對映列表中刪除元素 223

第 8 章 函式式程式設計和反應式程式設計 228

8.1 引言 228

8.2 使用yield語句編寫生成器函式 229

8.3 使用生成器表示式棧 234

8.4 將轉換應用於集合 241

8.5 選擇子集――三種過濾方式 244

8.6 彙總集合――如何歸約 248

8.7 組合對映和歸約轉換 252

8.8 實現there exists處理 257

8.9 建立偏函式 260

8.10 使用不可變資料結構簡化複雜演算法 265

8.11 使用yield from語句編寫遞迴生成器函式 269

第 9 章 輸入/輸出、物理格式和邏輯布局 274

9.1 引言 274

9.2 使用pathlib模組處理檔名 275

9.3 使用上下文管理器讀取和寫入檔案 281

9.4 替換檔案,同時保留以前的版本 284

9.5 使用csv模組讀取帶分隔符的檔案 287

9.6 使用正規表示式讀取複雜格式 291

9.7 讀取json文件 295

9.8 讀取xml文件 301

9.9 讀取html文件 305

9.10 將csv模組的dictreader更新為namedtuple讀取器 310

9.11 將csv模組的dictreader更新為namespace讀取器 314

9.12 使用多個上下文讀取和寫入檔案 317

第 10 章 統計程式設計和線性回歸 322

10.1 引言 322

10.2 使用內建統計庫 322

10.3 計算counter物件中值的平均值 329

10.4 計算相關係數 332

10.5 計算回歸引數 336

10.6 計算自相關 339

10.7 確認資料是隨機的――零假設 344

10.8 查詢異常值 348

10.9 通過一次遍歷分析多個變數 353

第 11 章 測試 359

11.1 引言 359

11.2 使用文件字串進行測試 360

11.3 測試丟擲異常的函式 365

11.4 處理常見的doctest問題 368

11.5 建立單獨的測試模組和包 372

11.6 組合unittest測試和doctest測試 378

11.7 涉及日期或時間的測試 381

11.8 涉及隨機性的測試 385

11.9 模擬外部資源 388

第 12 章 web服務 398

12.1 引言 398

12.2 使用wsgi實現web服務 400

12.3 使用flask框架實現restful api 408

12.4 解析請求中的查詢字串 414

12.5 使用urllib傳送rest請求 418

12.6 解析url路徑 424

12.7 解析json請求 433

12.8 實施web服務認證 441

第 13 章 應用程式整合 455

13.1 引言 455

13.2 查詢配置檔案 456

13.3 使用yaml編寫配置檔案 462

13.4 使用python賦值語句編寫配置檔案 468

13.5 使用python類定義編寫配置檔案 470

13.6 設計可組合的指令碼 475

13.7 使用logging模組監控和審計輸出 481

13.8 將兩個應用程式組合為乙個復合應用程式 488

13.9 使用命令設計模式組合多個應用程式 494

13.10 管理復合應用程式中的引數和配置 497

13.11 包裝和組合cli應用程式 501

13.12 包裝程式並檢查輸出 506

13.13 控制複雜的步驟序列 509

python3經典例題 經典例題 Python

python python開發 python語言 經典例題 python 經典例題 if巢狀 1.使用者輸入賬號 2.使用者輸入密碼 3.判斷使用者的賬號是不是alex 4.如果賬號是alex在繼續判斷密碼是不是alexdsb 5.賬號和密碼都正確提示使用者alex就是乙個dsb 6.如果賬號正確密...

php經典例項

1.遍歷字串 ring thi swee kend i m goin gsho ppin gfor apet chic ken.string thisweekend,i mgoingshoppingforapetchicken.vowels 0 for i 0 i 0,j strlen str in...

Python 入門之經典函式例項(三)

r星校長 第3關 map reduce 對映與歸約的思想 python 中有兩個非常常見的內建函式 map 和reduce 函式。這兩個函式都是應用於序列的處理函式,map 用於對映,reduce 用於歸併。本關目標就是讓學習者了解並掌握map 和reduce 函式的相關知識。map 函式 map ...