Python編程入門與實戰

Python編程入門與實戰

《Python編程入門與實戰》是2022年人民郵電出版社出版的圖書,作者是[意] 法布里奇奧·羅馬諾(Fabrizio Romano)。

基本介紹

  • 中文名:Python編程入門與實戰
  • 作者:[意] 法布里奇奧·羅馬諾(Fabrizio Romano)
  • 出版時間:2022年
  • 出版社:人民郵電出版社
  • ISBN:9787115548122
內容簡介,圖書目錄,作者簡介,

內容簡介

這是一本Python入門書,本書的特色之一是在介紹Python編程的基礎知識之後,通過具體編程範例,分不同的主題來闡釋如何用Python語言高效編程,在幫助讀者夯實基礎的同時找到最佳解決方案,達到學以致用的目的。
本書內容由淺入深,從理論到實踐,首先介紹Python編程的基本知識和編程範例,然後介紹如何進行性能最佳化、有效調試以及如何控制程式的流程。此外,本書還講解了Python中的加密服務和安全令牌等知識。通過學習本書,讀者將對Python語言有一定的了解。本書能夠幫助讀者掌握如何編寫程式、構建網站以及利用Python著名的數據科學庫來處理數據等內容。本書涵蓋各種類型的應用程式,可幫助讀者根據所學的知識解決真實世界中的問題。

圖書目錄

第 1章 Python概述 1
1.1 編程預備知識 2
1.2 走近Python 4
1.3 Python的優點 5
1.3.1 可移植性 5
1.3.2 一致性 5
1.3.3 提高開發人員的效率 5
1.3.4 廣泛的程式庫 5
1.3.5 軟體質量高 6
1.3.6 軟體集成度高 6
1.3.7 滿足感和樂趣 6
1.4 Python的缺點 6
1.5 當前的Python用戶 7
1.6 設定環境 7
1.7 安裝Python 8
1.7.1 安裝Python解釋器 9
1.7.2 關於virtualenv 10
1.7.3 第 一個虛擬環境 11
1.7.4 控制台 14
1.8 運行Python程式 14
1.8.1 運行Python腳本 14
1.8.2 在互動性shell中運行Python 15
1.8.3 以服務的形式運行Python 16
1.8.4 以GUI應用程式的形式運行Python 16
1.9 Python代碼的組織方式 17
1.10 Python的執行模型 21
1.10.1 名稱和名字空間 21
1.10.2 作用域 23
1.10.3 對象和類 26
1.11 編寫良好代碼的指導原則 28
1.12 Python的文化 29
1.13 關於IDE的說明 31
1.14 總結 31
第 2章 內置的數據類型 33
2.1 一切都是對象 34
2.2 可變對象與不可變對象 35
2.3 數值 36
2.3.1 整數 36
2.3.2 布爾值 38
2.3.3 實數 39
2.3.4 複數 40
2.3.5 分數和小數 40
2.4 不可變序列 42
2.4.1 字元串和位元組 42
2.4.2 元組 45
2.5 可變序列 46
2.5.1 列表 47
2.5.2 位元組數組 50
2.6 集合類型 51
2.7 映射類型—字典 53
2.8 collections模組 57
2.8.1 namedtuple 57
2.8.2 defaultdict 59
2.8.3 ChainMap 60
2.9 枚舉 61
2.10 注意事項 62
2.10.1 小值快取 62
2.10.2 如何選擇數據結構 62
2.10.3 關於索引和截取 64
2.10.4 關於名稱 65
2.11 總結 66
第3章 疊代和決策 67
3.1 條件編程 68
3.1.1 一種特化的else-elif 69
3.1.2 三元操作符 71
3.2 循環 72
3.2.1 for循環 72
3.2.2 疊代器和可疊代對象 74
3.2.3 對多個序列進行疊代 75
3.2.4 while循環 77
3.2.5 continue語句和break語句 80
3.2.6 一種特殊的else子句 82
3.3 綜合套用 83
3.3.1 質數生成器 83
3.3.2 套用折扣 85
3.4 itertools模組 88
3.4.1 無限疊代器 89
3.4.2 終止於最短輸入序列的疊代器 89
3.4.3 組合疊代器 90
3.5 總結 91
第4章 函式,代碼的基本構件 92
4.1 函式的優點 93
4.1.1 減少代碼的重複 94
4.1.2 分割複雜任務 94
4.1.3 隱藏實現細節 95
4.1.4 提高可讀性 95
4.1.5 提高可追蹤性 96
4.2 作用域和名稱解析 97
4.3 輸入參數 100
4.3.1 參數傳遞 100
4.3.2 對參數名稱的賦值並不會影響調用者 101
4.3.3 修改可變對象會影響調用者 102
4.3.4 指定輸入參數 103
4.4 返回值 111
4.5 一些實用的提示 113
4.6 遞歸函式 114
4.7 匿名函式 115
4.8 函式的屬性 116
4.9 內置函式 117
4.10 最後一個例子 118
4.11 代碼的文檔 119
4.12 導入對象 120
4.13 總結 122
第5章 節省時間和記憶體 123
5.1 map、zip和filter函式 125
5.1.1 map函式 125
5.1.2 zip函式 128
5.1.3 filter函式 129
5.2 解析 129
5.2.1 嵌套的解析 131
5.2.2 在解析中套用過濾 131
5.2.3 dict解析 133
5.2.4 set解析 134
5.3 生成器 134
5.3.1 生成器函式 135
5.3.2 next工作方式 138
5.3.3 yield from表達式 141
5.3.4 生成器表達式 142
5.4 性能上的考慮 145
5.5 不要過度使用解析和生成器表達式 147
5.6 名稱局部化 151
5.7 內置的生成行為 152
5.8 最後一個例子 153
5.9 總結 155
第6章 面向對象編程、裝飾器和疊代器 156
6.1 裝飾器 156
6.2 面向對象編程(OOP) 164
6.2.1 Python中最簡單的類 164
6.2.2 類和對象的名字空間 165
6.2.3 屬性禁止 166
6.2.4 self變數 167
6.2.5 實例的初始化 168
6.2.6 OOP與代碼復用有關 169
6.2.7 訪問基類 174
6.2.8 多重繼承 176
6.2.9 靜態方法和類方法 180
6.2.10 私有屬性和名稱改寫 184
6.2.11 property裝飾器 186
6.2.12 操作符重載 188
6.2.13 多態—簡單說明 188
6.2.14 數據類 189
6.3 編寫自定義的疊代器 190
6.4 總結 191
第7章 檔案和數據持久化 192
7.1 操作檔案和目錄 193
7.1.1 打開檔案 193
7.1.2 讀取和寫入檔案 195
7.1.3 檢查檔案和目錄是否存在 197
7.1.4 對檔案和目錄進行操作 197
7.1.5 臨時檔案和臨時目錄 200
7.1.6 檢查目錄的內容 201
7.1.7 檔案和目錄的壓縮 202
7.2 數據交換格式 203
7.3 IO、流和請求 210
7.3.1 使用記憶體中的流 210
7.3.2 執行HTTP請求 211
7.4 對磁碟上的數據進行持久化 214
7.4.1 使用pickle模組對數據進行序列化 214
7.4.2 用shelve保存數據 216
7.4.3 把數據保存到資料庫 217
7.5 總結 223
第8章 測試、性能分析和異常處理 224
8.1 對應用程式進行測試 225
8.1.1 測試的結構 227
8.1.2 編寫測試的指導原則 228
8.1.3 單元測試 229
8.1.4 測試一個CSV生成器 231
8.2 測試驅動的開發 244
8.3 異常 247
8.4 對Python進行性能分析 251
8.5 總結 255
第9章 加密與標記 256
9.1 加密的需要 256
9.2 hashlib模組 257
9.3 secrets模組 260
9.3.1 隨機數 260
9.3.2 標記的生成 260
9.3.3 摘要的比較 262
9.4 HMAC 263
9.5 JSON Web標記 263
9.5.1 已註冊的訴求 265
9.5.2 使用非對稱(公鑰)算法 268
9.6 總結 270
第 10章 並發執行 271
10.1 並發與平行的比較 272
10.2 執行緒和進程 272
10.2.1 執行緒的簡要剖析 272
10.2.2 全局解釋器鎖 274
10.2.3 競爭條件和死鎖 275
10.2.4 進程的簡要剖析 277
10.2.5 多執行緒與多進程之間的區別 278
10.3 Python中的並發執行 279
10.3.1 啟動執行緒 279
10.3.2 啟動進程 281
10.3.3 終止執行緒和進程 282
10.3.4 生成多個執行緒 283
10.3.5 解決競爭條件 284
10.3.6 執行緒的局部數據 286
10.3.7 執行緒和進程的通信 288
10.3.8 執行緒池和進程池 291
10.3.9 使用進程為函式添加到期時間 294
10.4 案例 295
10.4.1 案例1:並發的mergesort 296
10.4.2 案例2:批量解答數獨的程式 300
10.4.3 案例3:下載隨機圖像 309
10.5 總結 314
第 11章 調試和故障排除 315
11.1 調試技巧 316
11.1.1 用print進行調試 316
11.1.2 用自定義函式進行調試 317
11.1.3 檢查回溯 319
11.1.4 使用Python調試器 321
11.1.5 檢查日誌檔案 323
11.1.6 其他技巧 326
11.1.7 去哪裡尋找相關的信息 327
11.2 故障排除指南 327
11.2.1 使用控制台編輯器 327
11.2.2 選擇合適的地方放置調試斷點 327
11.2.3 使用測試進行調試 328
11.2.4 監視 328
11.3 總結 328
第 12章 GUI和腳本 330
12.1 第 1種方法:腳本 332
12.1.1 導入部分 332
12.1.2 解析參數 333
12.1.3 業務邏輯 335
12.2 第 2種方法:GUI應用程式 339
12.2.1 導入部分 341
12.2.2 布局邏輯 341
12.2.3 業務邏輯 345
12.2.4 改進GUI應用程式 351
12.3 進一步了解GUI應用程式 352
12.3.1 turtle模組 352
12.3.2 wxPython、PyQt和PyGTK 353
12.3.3 最小驚訝原則 353
12.3.4 執行緒方面的考慮 353
12.4 總結 354
第 13章 數據科學 355
13.1 IPython和Jupyter Notebook 356
13.1.1 安裝必要的程式庫 358
13.1.2 使用Anaconda 358
13.1.3 啟動Notebook 359
13.2 處理數據 359
13.2.1 設定Notebook 360
13.2.2 準備數據 360
13.2.3 整理數據 364
13.2.4 創建DataFrame 366
13.2.5 把DataFrame保存到檔案 375
13.2.6 顯示結果 375
13.3 數據科學和Python的更多工具 381
13.4 總結 383
第 14章 Web開發 384
14.1 Web 384
14.2 Web的工作方式 385
14.3 Django Web框架 385
14.3.1 Django的設計原則 386
14.3.2 Django的URL分配器 388
14.4 一個regex網站 389
14.4.1 安裝Django 389
14.4.2 添加Entry模型 392
14.4.3 對管理員面板進行自定義 393
14.4.4 創建表單 396
14.4.5 編寫視圖 397
14.4.6 連線URL和視圖 401
14.4.7 編寫模板 403
14.5 Web開發的未來 409
14.5.1 編寫Flask視圖 409
14.5.2 用Falcon創建JSON語錄伺服器 411
14.6 總結 413
14.7 再見 414

作者簡介

法布里奇奧·羅馬諾(Fabrizio Romano)出生於義大利,帕多瓦大學計算機科學系碩士。他是一位項目經理,同時也是一位教師,並且是CNHC的成員,現在就職於Sohonet,擔任首席工程師和項目領導人。

相關詞條

熱門詞條

聯絡我們