Python入門教程 Python Basics: A Practical Introduction to Python 3
Bader, Dan, Jablonski, Joanna, Heisler, Fletcher
- 出版商: 人民郵電
- 出版日期: 2023-07-01
- 定價: $659
- 售價: 8.5 折 $560
- 語言: 簡體中文
- 頁數: 403
- ISBN: 7115617864
- ISBN-13: 9787115617866
-
相關分類:
Python、程式語言
- 此書翻譯自: Python Basics: A Practical Introduction to Python 3
-
相關翻譯:
Real Python 人氣站長教你動手寫程式 - 不說教也能心領神會的引導式實作課 (Python Basics: A Practical Introduction to Python 3, 4/e) (繁中版)
下單後立即進貨 (約4週~6週)
相關主題
商品描述
本書由Real Python團隊傾力編寫,內容兼容Python 3.9版本。全書可分為兩大部分,共18章。前半部分透徹地講解現代Python編程的所有核心知識,後半部分帶領你用Python構建實際的應用程序和腳本,解決有趣的現實問題。本書按照邏輯順序介紹每個概念和語言特性,並以簡短明瞭的代碼示例進行解釋和說明。你還可以通過書中的編碼練習和項目鞏固基礎,通過交互式小測驗檢驗自己的學習效果。本書內容已經過數以萬計的Python愛好者、數據科學家和開發人員的實戰檢驗,尤其適合零基礎新人快速習得編寫Python程序的實用技巧,培養對編程的熱情。
作者簡介
戴维·阿莫斯(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教程的初稿,后由本书作者戴维·阿莫斯牵头重写。
目錄大綱
讀者評價 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