Python入門教程

Python入門教程

《Python入門教程》是2023年人民郵電出版社出版的圖書,作者是戴維·阿莫斯、達恩·巴德爾、 喬安娜·雅布隆斯基。

基本介紹

  • 中文名:Python入門教程
  • 作者:戴維·阿莫斯、達恩·巴德爾、 喬安娜·雅布隆斯基
  • 出版時間:2003年7月
  • 出版社:人民郵電出版社
  • ISBN:9787115617866
  • 類別:圖書>計算機/網路>程式設計>Python
  • 開本:128 開
  • 裝幀:平裝-膠訂
內容簡介,圖書目錄,作者簡介,

內容簡介

本書由Real Python團隊傾力編寫,內容兼容Python 3.9版本。全書可分為兩大部分,共18章。前半部分透徹地講解現代Python編程的所有核心知識,後半部分帶領你用Python構建實際的應用程式和腳本,解決有趣的現實問題。本書按照邏輯順序介紹每個概念和語言特性,並以簡短明了的代碼示例進行解釋和說明。你還可以通過書中的編碼練習和項目鞏固基礎,通過互動式小測驗檢驗自己的學習效果。本書內容已經過數以萬計的Python愛好者、數據科學家和開發人員的實戰檢驗,尤其適合零基礎新人快速習得編寫Python程式的實用技巧,培養對編程的熱情。

圖書目錄

讀者評價 iii
關於作者 v
序 vii
前言 xiii
第 1章 配置Python環境 1
1.1 有關Python版本的注意事項 1
1.2 Windows 2
1.2.1 安裝Python 2
1.2.2 打開IDLE 3
1.3 macOS 4
1.3.1 安裝Python 5
1.3.2 打開IDLE 6
1.4 Ubuntu Linux 7
1.4.1 安裝Python 7
1.4.2 打開IDLE 8
第 2章 你的第 一個Python程式 10
2.1 編寫Python程式 10
2.1.1 互動式視窗 10
2.1.2 編輯器視窗 12
2.2 搞點兒破壞 13
2.2.1 語法錯誤 13
2.2.2 運行時錯誤 14
2.2.3 鞏固練習 15
2.3 創建變數 15
2.3.1 賦值運算符 15
2.3.2 變數命名的法則 16
2.3.3 直白的名字勝過簡短的名字 17
2.3.4 Python變數命名約定 18
2.3.5 鞏固練習 18
2.4 在互動式視窗中檢查值 18
2.5 給自己留下有用的筆記 20
2.5.1 如何添加注釋 20
2.5.2 約定與抱怨 21
2.6 總結和更多學習資源 22
第3章 字元串與字元串方法 23
3.1 什麼是字元串 23
3.1.1 字元串類型 23
3.1.2 字元串字面量 24
3.1.3 確定字元串的長度 26
3.1.4 多行字元串 26
3.1.5 鞏固練習 28
3.2 拼接、索引、切片 28
3.2.1 拼接字元串 28
3.2.2 索引字元串 29
3.2.3 字元串切片 30
3.2.4 字元串是不可變的 33
3.2.5 鞏固練習 34
3.3 利用字元串方法操作字元串 34
3.3.1 大小寫轉換 34
3.3.2 移除字元串中的空白字元 35
3.3.3 判斷字元串是否以某個字元串開頭或結尾 36
3.3.4 字元串方法與不可變性 37
3.3.5 利用IDLE探索其他的字元串方法 37
3.3.6 鞏固練習 38
3.4 與用戶輸入互動 38
3.5 挑戰:分析用戶輸入 40
3.6 處理字元串和數字 40
3.6.1 在字元串上使用算術運算符 40
3.6.2 將字元串轉換為數字 42
3.6.3 將數字轉換為字元串 43
3.6.4 鞏固練習 43
3.7 讓輸出語句更流暢 44
3.8 在字元串中查找字元串 45
3.9 挑戰:把你的用戶變成菁瑛駭氪 47
3.10 總結和更多學習資源 48
第4章 數字與數學 49
4.1 整數與浮點數 49
4.1.1 整數 49
4.1.2 浮點數 50
4.1.3 鞏固練習 52
4.2 算術運算符和表達式 52
4.2.1 加法 52
4.2.2 減法 53
4.2.3 乘法 54
4.2.4 除法 54
4.2.5 整數除法 54
4.2.6 指數 55
4.2.7 求模運算符 56
4.2.8 算術表達式 57
4.3 挑戰:計算用戶輸入的數據 58
4.4 讓Python對你說謊 58
4.5 數學函式和數字方法 59
4.5.1 round()函式 59
4.5.2 abs()函式 61
4.5.3 pow()函式 61
4.5.4 檢查浮點數是否為整數 62
4.5.5 鞏固練習 62
4.6 改變數字的輸出樣式 63
4.7 複數 65
4.8 總結和更多學習資源 67
第5章 函式和循環 69
5.1 函式到底是什麼 69
5.1.1 函式即值 69
5.1.2 Python如何執行函式 71
5.1.3 函式可能會產生副作用 72
5.2 編寫自己的函式 72
5.2.1 函式的結構 73
5.2.2 調用用戶定義函式 76
5.2.3 沒有return語句的函式 77
5.2.4 為你的函式編寫文檔 77
5.2.5 鞏固練習 78
5.3 挑戰:溫度轉換 78
5.4 繞圈跑 79
5.4.1 while循環 79
5.4.2 for循環 81
5.4.3 嵌套循環 84
5.4.4 鞏固練習 85
5.5 挑戰:跟蹤投資情況 85
5.6 理解Python的作用域 86
5.6.1 什麼是作用域 86
5.6.2 作用域解析 87
5.6.3 LEGB原則 88
5.6.4 打破規則 88
5.7 總結和更多學習資源 89
第6章 尋找並修復代碼中的bug 91
6.1 使用調試控制視窗 91
6.1.1 調試視窗:概覽 92
6.1.2 Step按鈕 93
6.1.3 斷點和Go按鈕 94
6.1.4 Over和Out 96
6.2 消除bug 96
6.2.1 第(1)步:猜測問題出在哪裡 97
6.2.2 第(2)步:設定斷點並檢查代碼 98
6.2.3 第(3)步:確定錯誤並嘗試修復 99
6.2.4 第(4)步:重複第(1)步至第(3)步直到沒有bug 100
6.2.5 尋找bug的其他方法 100
6.3 總結和更多學習資源 102
第7章 條件邏輯與流程控制 103
7.1 值的比較 103
7.2 來點兒邏輯 106
7.2.1 and關鍵字 106
7.2.2 or關鍵字 107
7.2.3 not關鍵字 109
7.2.4 構造更為複雜的表達式 110
7.2.5 鞏固練習 111
7.3 控制程式的流向 112
7.3.1 if語句 112
7.3.2 else關鍵字 113
7.3.3 elif關鍵字 114
7.3.4 嵌套if語句 116
7.3.5 鞏固練習 119
7.4 挑戰:求因數 119
7.5 跳出模式 120
7.5.1 if語句與for循環 120
7.5.2 break 120
7.5.3 continue 121
7.5.4 forelse循環 122
7.5.5 鞏固練習 123
7.6 從錯誤中恢復 123
7.6.1 異常動物園 123
7.6.2 try和except關鍵字 125
7.6.3 空except分句 126
7.6.4 鞏固練習 126
7.7 事件模擬和機率計算 127
7.7.1 random模組 127
7.7.2 質地均勻的硬幣 128
7.7.3 質地不均勻的硬幣 129
7.7.4 鞏固練習 130
7.8 挑戰:模擬拋硬幣實驗 130
7.9 挑戰:模擬選舉 131
7.10 總結和更多學習資源 131
第8章 元組、列表、字典 133
8.1 元組:不可變序列 133
8.1.1 什麼是元組 134
8.1.2 創建元組的方法 134
8.1.3 元組和字元串的相似之處 136
8.1.4 元組打包和解包 138
8.1.5 使用in檢查元組是否包含某個值 139
8.1.6 從函式返回多個值 139
8.1.7 鞏固練習 140
8.2 列表:可變序列 140
8.2.1 創建列表 140
8.2.2 基本操作 142
8.2.3 修改列表中的元素 143
8.2.4 增加和刪除元素的列表方法 144
8.2.5 數字列表 147
8.2.6 列表推導式 148
8.2.7 鞏固練習 149
8.3 列表與元組的嵌套、拷貝、排序 149
8.3.1 列表和元組的嵌套 149
8.3.2 拷貝列表 150
8.3.3 列表排序 152
8.3.4 鞏固練習 153
8.4 挑戰:列表的列表 153
8.5 挑戰:打油詩 154
8.6 在字典中保存關係 155
8.6.1 什麼是字典 155
8.6.2 創建字典 156
8.6.3 訪問字典的值 157
8.6.4 添加和刪除字典的值 158
8.6.5 檢查字典中是否存在某個鍵 159
8.6.6 疊代字典 159
8.6.7 字典的鍵和不可變性 160
8.6.8 嵌套字典 161
8.6.9 鞏固練習 162
8.7 挑戰:首府環遊 162
8.8 選擇合適的數據結構 163
8.9 挑戰:貓貓戴帽帽 164
8.10 總結和更多學習資源 164
第9章 面向對象編程 166
9.1 定義類 166
9.1.1 類和實例 167
9.1.2 如何定義類 167
9.2 實例化對象 169
9.2.1 類和實例屬性 170
9.2.2 實例方法 171
9.2.3 鞏固練習 173
9.3 從其他類繼承 173
9.3.1 狗狗公園的例子 174
9.3.2 父類和子類 175
9.3.3 擴展父類的功能 176
9.3.4 鞏固練習 178
9.4 挑戰:建模農場 179
9.5 總結和更多學習資源 179
第 10章 模組和包 181
10.1 使用模組 181
10.1.1 創建模組 182
10.1.2 在模組中導入另一個模組 182
10.1.3 import語句的變體 184
10.1.4 為什麼要用命名空間 186
10.1.5 鞏固練習 188
10.2 使用包 188
10.2.1 創建包 188
10.2.2 導入包中的模組 189
10.2.3 從子包中導入模組 192
10.2.4 鞏固練習 193
10.3 總結和更多學習資源 194
第 11章 檔案輸入與輸出 195
11.1 檔案和檔案系統 195
11.1.1 檔案的結構 195
11.1.2 檔案系統 196
11.2 在Python中處理檔案路徑 198
11.2.1 創建Path對象 198
11.2.2 絕對路徑和相對路徑 200
11.2.3 訪問檔案路徑分量 201
11.2.4 檢查檔案路徑是否存在 203
11.2.5 鞏固練習 203
11.3 常見檔案系統操作 204
11.3.1 常見目錄和檔案 204
11.3.2 遍歷資料夾內容 207
11.3.3 查找目錄中的檔案 208
11.3.4 使用**通配符遞歸匹配 211
11.3.5 移動、刪除檔案和資料夾 212
11.3.6 鞏固練習 214
11.4 挑戰:將所有圖片檔案移動到
一個新目錄中 215
11.5 讀寫檔案 215
11.5.1 什麼是檔案 215
11.5.2 理解文本檔案 216
11.5.3 Python檔案對象 217
11.5.4 從檔案中讀取數據 221
11.5.5 向檔案寫入數據 222
11.5.6 鞏固練習 225
11.6 讀寫CSV數據 225
11.6.1 csv模組 226
11.6.2 鞏固練習 231
11.7 挑戰:創建高分榜 232
11.8 總結和更多學習資源 233
第 12章 使用pip安裝包 234
12.1 使用pip安裝第三方包 234
12.1.1 將pip更新至最新版本 237
12.1.2 列出所有已安裝的包 238
12.1.3 安裝包 238
12.1.4 展示包的詳情 240
12.1.5 卸載包 241
12.2 第三方包的陷阱 242
12.3 總結和更多學習資源 243
第 13章 創建、修改PDF檔案 244
13.1 從PDF檔案中提取文本 244
13.1.1 打開PDF檔案 245
13.1.2 提取頁面中的文本 247
13.1.3 匯總 248
13.1.4 鞏固練習 249
13.2 提取PDF中的頁面 249
13.2.1 使用PdfFileWriter類 249
13.2.2 從PDF中提取單個頁面 251
13.2.3 從PDF中提取多個頁面 252
13.2.4 鞏固練習 254
13.3 挑戰:PdfFileSplitter類 254
13.4 拼接、合併PDF 255
13.4.1 使用PdfFileMerger類 255
13.4.2 使用.append()拼接PDF 255
13.4.3 使用.merge()合併PDF 257
13.4.4 鞏固練習 259
13.5 旋轉、裁剪PDF頁面 259
13.5.1 旋轉頁面 259
13.5.2 裁剪頁面 263
13.5.3 鞏固練習 266
13.6 加密、解密PDF 266
13.6.1 加密PDF 267
13.6.2 解密PDF 268
13.6.3 鞏固練習 269
13.7 挑戰:整理PDF 269
13.8 從頭創建PDF檔案 269
13.8.1 安裝reportlab 270
13.8.2 使用Canvas 類 270
13.8.3 設定頁面尺寸 271
13.8.4 設定字型屬性 272
13.9 總結和更多學習資源 274
第 14章 運算元據庫 276
14.1 SQLite簡介 276
14.1.1 SQLite基礎 277
14.1.2 使用with管理資料庫連線 278
14.1.3 運算元據庫表 279
14.1.4 執行多條SQL語句 281
14.1.5 使用參數化語句避免安全問題 282
14.1.6 獲得數據 283
14.1.7 鞏固練習 284
14.2 操作其他SQL資料庫的庫 285
14.3 總結和更多學習資源 285
第 15章 和Web互動 287
15.1 抓取並解析網站中的文本 287
15.1.1 你的第 一個網路抓取器 288
15.1.2 使用字元串方法提取HTML中的文本 289
15.1.3 正則表達式入門 290
15.1.4 使用正則表達式提取HTML中的文本 293
15.1.5 鞏固練習 294
15.2 使用HTML解析器抓取網站 294
15.2.1 安裝Beautiful Soup 294
15.2.2 創建BeautifulSoup對象 295
15.2.3 使用BeautifulSoup對象 295
15.2.4 鞏固練習 297
15.3 和HTML表單互動 298
15.3.1 安裝MechanicalSoup 298
15.3.2 創建Browser對象 298
15.3.3 使用MechanicalSoup提交表單 299
15.3.4 鞏固練習 302
15.4 和網站進行實時互動 302
15.5 總結和更多學習資源 304
第 16章 科學計算與繪圖 306
16.1 使用NumPy操作矩陣 306
16.1.1 安裝NumPy 307
16.1.2 創建NumPy array 308
16.1.3 數組運算 309
16.1.4 堆疊、重構數組 311
16.1.5 鞏固練習 313
16.2 使用Matplotlib 繪製圖像 313
16.2.1 安裝Matplotlib 314
16.2.2 使用pyplot進行基本的圖像繪製 314
16.2.3 在同一視窗中繪製多幅圖像 317
16.2.4 為NumPy數組繪圖 319
16.2.5 完善圖像的格式 321
16.2.6 其他類型的圖像 325
16.2.7 將圖像保存為圖片 328
16.2.8 與圖像互動 329
16.2.9 鞏固練習 329
16.3 總結和更多學習資源 329
第 17章 圖形用戶界面 331
17.1 使用EasyGUI添加GUI元素 331
17.1.1 安裝EasyGUI 331
17.1.2 你的第 一個EasyGUI應用程式 332
17.1.3 EasyGUI的GUI元素庫 334
17.1.4 優雅地退出程式 338
17.1.5 鞏固練習 339
17.2 套用示例:PDF頁面旋轉程式 340
17.2.1 設計應用程式 340
17.2.2 實現設計 341
17.2.3 鞏固練習 344
17.3 挑戰:PDF頁面提取應用程式 345
17.4 Tkinter簡介 346
17.4.1 你的第 一個Tkinter應用程式 346
17.4.2 鞏固練習 348
17.5 使用小組件 348
17.5.1 Label小組件 349
17.5.2 Button小組件 351
17.5.3 Entry小組件 352
17.5.4 Text小組件 355
17.5.5 將小組件分配給frame 361
17.5.6 使用relief調整frame的外觀 364
17.5.7 小組件命名慣例 365
17.5.8 鞏固練習 366
17.6 使用布局管理器控制布局 366
17.6.1 .pack()布局管理器 367
17.6.2 .place()布局管理器 370
17.6.3 .grid()布局管理器 371
17.6.4 鞏固練習 379
17.7 讓應用程式可互動 379
17.7.1 事件和事件處理器 380
17.7.2 .bind()方法 382
17.7.3 command屬性 383
17.7.4 鞏固練習 385
17.8 套用示例:溫度轉換器 386
17.9 套用示例:文本編輯器 389
17.10 挑戰:詩人回歸 396
17.11 總結和更多學習資源 397
第 18章 寫在最後 399
18.1 Python開發者的免費周報 399
18.2 推薦圖書:《深入理解Python特性》 400
18.3 Real Python視頻課程庫 400
18.4 致謝 401
著作權聲明 404

作者簡介

戴維·阿莫斯(David Amos) Real Python內容技術總監,Python社區活動PyCoder's Weekly組織者之一。 達恩·巴德爾(Dan Bader) Real Python總編輯,Python社區“意見領袖”,realpython.com學習平台的主要開發人員,另著有熱銷書《深入理解Python特性》。 喬安娜·雅布隆斯基(Joanna Jablonski) Real Python執行編輯,對謎題和規律的熱愛、對細節的執著讓她走上了翻譯的職業道路。 弗萊徹·海斯勒(Fletcher Heisler) Real Python聯合創始人,畢業於普林斯頓大學,2012年,他編寫了這份Python教程的初稿,後由本書作者戴維·阿莫斯牽頭重寫。

相關詞條

熱門詞條

聯絡我們