Python 3.7從零開始學

Python 3.7從零開始學

《Python 3.7從零開始學》是2018年10月清華大學出版社出版的圖書,作者是劉宇宙、劉艷。

基本介紹

  • 中文名:Python 3.7從零開始學
  • 作者:劉宇宙、劉艷
  • 出版時間:2018年10月
  • 出版社:清華大學出版社
  • ISBN:9787302510840
  • 定價:79 元
內容簡介,圖書目錄,

內容簡介

本書專門針對Python新手量身編寫,涵蓋Python 3實際開發的重要知識點,內容包括:Python語言的類型和對象、操作符和表達式、編程結構和控制流、函式、序列、多執行緒、正則表達式、面向對象編程、檔案操作、網路編程、郵件收發、資料庫操作等,提供Python爬蟲、自然語言處理、區塊鏈項目範例,各章還安排了調試、問題解答、溫故知新、牛刀小試等內容,以幫助讀者學會處理程式異常、解答學習困惑、鞏固知識、學以致用。
本書還開發了配套小程式學習課件,課件中涵蓋視頻教學、代碼示例、資源包、擴展知識、習題、PPT、FAQ、作業8大主題,大幅擴展了本書知識體系,可幫助讀者輕鬆快速地掌握Python編程技能。
本書技術先進、示例豐富、代碼可讀性及可操作性強,非常適合Python初學者和轉型到Python開發的程式設計師使用,也可作為Python網課、培訓機構及大專院校的教學用書。

圖書目錄

第1章 進入Python 3.7的精彩世界 1
1.1 Python的起源 1
1.2 Python的套用場合 2
1.3 從2.7到3.7,Python的新特性 4
1.4 如何學習Python 6
1.5 Python環境構建 7
1.5.1 在Windows系統中安裝Python 7
1.5.2 在Linux、UNIX系統和Mac中安裝Python 14
1.5.3 其他版本 14
1.6 從Hello World開始 14
1.7 調試 15
1.8 問題解答 16
1.9 溫故知新,學以致用 17
第2章 開啟Python之旅 18
2.1 認識程式 18
2.1.1 程式 18
2.1.2 調試 19
2.1.3 語法錯誤 19
2.1.4 運行錯誤 20
2.1.5 語義錯誤 20
2.2 數據類型 20
2.2.1 整型 21
2.2.2 浮點型 22
2.2.3 複數 23
2.2.4 數據類型轉換 23
2.2.5 常量 24
2.3 變數和關鍵字 24
2.3.1 變數 24
2.3.2 變數名稱 28
2.4 語句 29
2.5 表達式 30
2.6 運算符和操作對象 31
2.6.1 什麼是運算符和操作對象 31
2.6.5 位運算符 35
2.6.7 成員運算符 36
2.6.8 身份運算符 37
2.7 字元串操作 39
2.8 注釋 42
2.9 牛刀小試——九九乘法表實現 43
2.10 調試 44
2.11 問題解答 44
2.12 溫故知新,學以致用 45
第3章 列表和元組 47
3.1 通用序列操作 47
3.1.1 索引 47
3.1.2 分片 49
3.1.3 序列相加 51
3.1.4 乘法 52
3.1.5 成員資格 53
3.1.6 長度、最小值和最大值 54
3.2 列表 54
3.2.1 更新列表 54
3.2.2 嵌套列表 58
3.2.3 列表方法 59
3.3 元組 66
3.3.1 tuple函式 67
3.3.2 元組的基本操作 67
3.3.3 元組內置函式 68
3.4 列表與元組的區別 69
3.5 牛刀小試——列表與元組相互轉化 70
3.6 調試 70
3.7 問題解答 71
3.8 溫故知新,學以致用 72
第4章 字元串 74
4.1 字元串的基本操作 74
4.2 字元串格式化 75
4.2.1 字元串格式化符號 75
4.2.2 字元串格式化元組 77
4.3 字元串方法 80
4.3.1 find()方法 80
4.3.2 join()方法 81
4.3.3 lower()方法 81
4.3.4 upper()方法 82
4.3.5 swapcase()方法 83
4.3.6 replace()方法 83
4.3.7 split()方法 84
4.3.8 strip()方法 84
4.3.9 translate()方法 85
4.4 牛刀小試——變形金剛 86
4.5 調試 86
4.6 問題解答 87
4.7 溫故知新,學以致用 87
第5章 字典 89
5.1 字典的使用 89
5.2 創建和使用字典 90
5.2.1 dict函式 90
5.2.2 字典的基本操作 91
5.2.3 字典的格式化字元串 92
5.2.4 字典和列表的區別 93
5.3 字典方法 93
5.3.1 clear()方法 94
5.3.2 copy()方法 95
5.3.3 fromkeys()方法 95
5.3.4 get()方法 96
5.3.5 key in dict方法 96
5.3.6 items()方法 97
5.3.7 keys()方法 97
5.3.8 setdefault()方法 98
5.3.9 update()方法 98
5.3.10 values()方法 99
5.4 牛刀小試——字典合併與排序 99
5.5 調試 100
5.6 問題解答 101
5.7 溫故知新,學以致用 101
第6章 條件、循環和其他語句 103
6.1 使用文本編輯器 103
6.2 import的使用 105
6.2.1 import語句 105
6.2.2 使用逗號輸出 108
6.3 別樣的賦值 108
6.3.1 序列解包 108
6.3.2 鏈式賦值 109
6.3.3 增量賦值 110
6.4 語句塊 111
6.5 條件語句 111
6.5.1 布爾變數的作用 111
6.5.2 if語句 112
6.5.3 else子句 114
6.5.4 elif子句 114
6.5.5 嵌套代碼塊 115
6.5.6 更多操作 115
6.5.7 斷言 118
6.6 循環 118
6.6.1 while循環 119
6.6.3 循環遍歷字典元素 122
6.6.4 疊代工具 123
6.6.5 跳出循環 124
6.6.6 循環中的else子句 126
6.7 pass語句 127
6.8 牛刀小試——猜字遊戲編寫 128
6.9 Python程式調試 129
6.10 問題解答 130
6.11 溫故知新,學以致用 131
第7章 函式 133
7.1 調用函式 133
7.2 定義函式 135
7.3 函式的參數 137
7.3.1 必須參數 138
7.3.2 關鍵字參數 138
7.3.3 默認參數 139
7.3.4 可變參數 142
7.3.5 組合參數 144
7.4 執行流程 144
7.5 形參和實參 145
7.6 變數作用域 146
7.6.1 局部變數 146
7.6.2 全局變數 148
7.7 有返回值和無返回值函式 150
7.8 為什麼要有函式 151
7.9 返回函式 151
7.10 遞歸函式 154
7.11 匿名函式 156
7.12 偏函式 159
7.13 牛刀小試——經典排序之快速排序實現 159
7.14 調試 161
7.15 問題解答 161
7.16 溫故知新,學以致用 162
第8章 面向對象編程 164
8.1 理解面向對象 164
8.1.1 什麼是面向對象編程 164
8.1.2 面向對象術語簡介 164
8.2 類的定義與使用 165
8.2.1 類的定義 165
8.2.2 類的使用 166
8.3 深入類 167
8.3.1 類的構造方法 167
8.3.2 類的訪問許可權 171
8.4 繼承 175
8.5 多態 178
8.6 封裝 181
8.7 多重繼承 182
8.8 獲取對象信息 184
8.9 類的專有方法 187
8.10 牛刀小試——出行建議 191
8.11 調試 193
8.12 問題解答 193
8.13 溫故知新,學以致用 194
第9章 異常 196
9.1 什麼是異常 196
9.2 異常處理 197
9.3 拋出異常 198
9.4 捕捉多個異常 199
9.5 使用一個塊捕捉多個異常 200
9.6 捕捉對象 201
9.7 全捕捉 201
9.8 異常中的else 202
9.9 自定義異常 203
9.10 finally子句 204
9.11 異常和函式 205
9.12 牛刀小試——正常數和異常數 206
9.13 bug的由來 208
9.14 溫故知新,學以致用 208
第10章 日期和時間 210
10.1 日期和時間 210
10.1.1 時間戳 210
10.1.2 時間格式化符號 211
10.1.3 struct_time元組 212
10.2 time模組 212
10.2.1 time()函式 212
10.2.2 localtime([secs])函式 213
10.2.3 gmtime([secs])函式 213
10.2.4 mktime(t)函式 214
10.2.5 asctime([t])函式 214
10.2.6 ctime([secs])函式 214
10.2.7 sleep(secs)函式 215
10.2.8 clock()函式 215
10.2.9 strftime(format[, t])函式 216
10.2.10 strptime(string[, format])函式 217
10.2.11 三種時間格式轉化 217
10.3 datetime模組 217
10.4 日曆模組 221
10.5 牛刀小試——時間大雜燴 222
10.6 調試 226
10.7 溫故知新,學以致用 226
第11章 正則表達式 228
11.1 認識正則表達式 228
11.2 re模組 230
11.2.1 re.match函式 230
11.2.2 re.search方法 231
11.2.3 re.match與re.search的區別 231
11.3 貪婪模式和非貪婪模式 232
11.4 替換 233
11.5 編譯 234
11.6 牛刀小試——匹配比較 234
11.7 溫故知新,學以致用 235
第12章 檔案操作 237
12.1 打開檔案 237
12.1.1 檔案模式 239
12.1.2 快取 239
12.2 基本檔案方法 240
12.2.1 讀和寫 240
12.2.2 讀寫行 243
12.2.3 關閉檔案 244
12.2.4 檔案重命名 245
12.2.5 刪除檔案 246
12.3 對檔案內容進行疊代 246
12.3.1 按位元組處理 246
12.3.2 按行操作 247
12.3.3 使用fileinput實現懶載入式疊代 247
12.3.4 檔案疊代器 248
12.4 StringIO函式 248
12.5 序列化與反序列化 249
12.5.1 一般序列化與反序列化 249
12.5.2 JSON序列化與反序列化 250
12.6 牛刀小試——批量更改檔案名稱 252
12.7 調試 253
12.8 問題解答 254
12.9 溫故知新,學以致用 254
第13章 多執行緒 256
13.1 執行緒和進程 256
13.1.1 進程 256
13.1.2 執行緒 256
13.1.3 多執行緒與多進程 257
13.2 使用執行緒 258
13.2.2 退出執行緒 258
13.2.3 Python的執行緒模組 259
13.3 _thread模組 259
13.4 threading模組 261
13.5 執行緒同步 265
13.6 執行緒優先權佇列 267
13.7 執行緒與進程比較 269
13.7.1 執行緒切換 270
13.7.2 計算密集型與IO密集型 270
13.7.3 異步IO 271
13.8 牛刀小試——多執行緒簡單爬蟲 271
13.9 調試 272
13.10 問題解答 273
13.11 溫故知新,學以致用 273
第14章 傳送和接收電子郵件 275
14.1 電子郵件介紹 275
14.2 傳送郵件 277
14.2.1 SMTP傳送郵件 277
14.2.2 傳送HTML格式的郵件 279
14.2.3 傳送帶附屬檔案的郵件 280
14.2.4 傳送圖片 281
14.2.5 同時支持HTML和Plain格式 282
14.2.6 加密SMTP 284
14.3 POP3接收郵件 284
14.3.1 POP3下載郵件 285
14.3.2 解析郵件 286
14.4 牛刀小試——郵件傳送通用化 287
14.5 調試 290
14.6 問題解答 290
14.7 溫故知新,學以致用 290
第15章 網路編程 292
15.1 初識網路編程 292
15.2 TCP/IP簡介 292
15.3 網路設計模組 293
15.3.1 Socket簡介 294
15.3.2 socket模組 294
15.3.3 socket對象(內建)方法 296
15.4 TCP編程 297
15.4.1 客戶端 297
15.4.2 伺服器編程 299
15.5 UDP編程 303
15.6 urllib模組 305
15.6.1 GET請求 305
15.6.2 POST請求 306
15.7 牛刀小試——模擬瀏覽器 307
15.8 調試 308
15.9 問題解答 308
15.10 溫故知新,學以致用 308
第16章 GUI編程 310
16.1 GUI簡介 310
16.1.1 常用GUI庫簡介 310
16.1.2 安裝tkinter 311
16.2 概念介紹 311
16.2.1 視窗和控制項 311
16.2.2 事件驅動處理 312
16.2.3 布局管理器 312
16.3 Tk控制項 312
16.3.1 Button控制項 313
16.3.2 Checkbutton控制項 314
16.3.3 Label控制項 315
16.3.4 Text控制項 316
16.3.5 Menu控制項 317
16.4 tkinter 組合控制項 319
16.5 牛刀小試——計算器開發 320
16.6 調試 325
16.7 問題解答 325
16.8 溫故知新,學以致用 325
第17章 運算元據庫 327
17.1 資料庫介紹 327
17.2 Python資料庫API 328
17.2.1 全局變數 328
17.2.2 異常 329
17.2.3 連線和游標 329
17.2.4 類型 331
17.3 資料庫操作 331
17.3.1 資料庫連線 331
17.3.2 創建資料庫表 332
17.3.3 資料庫插入 333
17.3.4 資料庫查詢 334
17.3.5 資料庫更新 335
17.3.6 資料庫刪除 336
17.4 事務 337
17.5 調試 338
17.6 問題解答 338
17.7 溫故知新,學以致用 339
第18章 項目實戰——爬蟲 340
18.1 了解爬蟲 340
18.2 爬蟲的原理 341
18.3 爬蟲常用的幾種技巧 341
18.3.1 基本方法 341
18.3.2 使用代理伺服器 342
18.3.3 Cookie處理 342
18.3.4 偽裝成瀏覽器 343
18.3.5 登錄 343
18.4 爬蟲示例——抓取豆瓣電影Top250影評數據 344
18.4.1 確定URL格式 344
18.4.2 頁面抓取 344
18.4.3 提取相關信息 345
18.4.4 寫入檔案 346
18.4.5 完善代碼 346
18.5 項目小結 349
第19章 自然語言分詞與詞頻統計 350
19.1 概念介紹 350
19.1.1 SQLAlchemy簡介 350
19.1.2 pyecharts簡介 351
19.1.3 jieba分詞庫簡介 351
19.1.4 BeautifulSoup庫簡介 351
19.2 庫的安裝與使用 351
19.2.1 SQLAlchemy的安裝與使用 351
19.2.2 pyecharts的安裝與使用 352
19.2.3 jieba分詞庫的安裝與使用 353
19.2.4 BeautifulSoup的安裝與使用 354
19.3 分詞與詞頻統計實戰 354
19.3.1 整體結構設計 355
19.3.2 數據結構設計 355
19.3.3 數據的爬取與保存 356
19.3.4 制定關鍵字庫 358
19.3.5 詞頻統計與圖表生成 358
19.4 分詞與詞頻統計完整代碼實現與結果查看 359
19.5 項目小結 367
第20章 區塊鏈實戰 368
20.1 區塊鏈簡介 368
20.1.1 區塊鏈的定義 368
20.1.2 區塊鏈的特點 369
20.1.3 區塊鏈套用行業及領域 369
20.2 區塊鏈代碼結構設計 369
20.2.1 環境準備 369
20.2.2 代碼結構設計 369
20.3 區塊鏈具體邏輯實現 371
20.3.1 塊結構 371
20.3.2 加入交易 372
20.3.3 創建新塊 372
20.3.4 工作量證明的理解 374
20.3.5 工作量證明的實現 374
20.4 API接口層開發 375
20.4.1 傳送交易 375
20.4.2 挖礦 376
20.4.3 返回整個區塊鏈 376
20.5 運行區塊鏈 377
20.6 分散式實現 378
20.6.1 註冊節點 379
20.6.2 實現共識算法 379
20.7 完整項目代碼與執行 381
20.8 項目小結 393
附錄 394
A.1 數學函式 394
A.2 隨機函式 394
A.3 三角函式 395
A.4 Python字元串內建函式 395
A.5 列表方法 397
A.6 字典內置方法 397
A.7 正則表達式模式 398

相關詞條

熱門詞條

聯絡我們