Python程序設計從零開始學
李馨
相關主題
商品描述
目錄大綱
目 錄
第1章 Python世界 1
1.1 一起準備Python吧 1
1.1.1 Python有什麽魅力 1
1.1.2 安裝Python 3
1.1.3 測試Python軟件 5
1.1.4 Python的應用範圍 9
1.2 Python的開發工具 9
1.2.1 有哪些IDE軟件 10
1.2.2 CPython有什麽 10
1.2.3 Python Shell 12
1.2.4 IDLE的環境設置 16
1.3 使用Visual Studio Code 22
1.3.1 下載並安裝Visual Studio Code 22
1.3.2 啟動Visual Studio Code 25
1.3.3 Visual Studio Code擴展模塊 28
1.4 Python編寫風格 29
1.4.1 “Hello World!”程序就是這麽簡單 30
1.4.2 程序的縮排和註釋 30
1.4.3 語句的分行和合並 31
1.4.4 程序的輸入和輸出 31
1.5 本章小結 32
1.6 課後習題 32
第2章 Python基本語法 34
2.1 變量 34
2.1.1 標識符的命名規則 35
2.1.2 關鍵字和保留字 35
2.1.3 給變量賦值 35
2.2 Python的數據類型 38
2.2.1 以type()函數返回類型 38
2.2.2 整數類型 39
2.2.3 布爾值 41
2.3 Python如何處理實數 41
2.3.1 使用float類型 41
2.3.2 復數類型 44
2.3.3 更精確的decimal類型 45
2.3.4 有理數 48
2.4 數學運算與math模塊 50
2.4.1 認識math模塊 50
2.4.2 算術運算符 51
2.4.3 進行四則運算 52
2.4.4 賦值運算符 53
2.4.5 位運算符與位移運算符 54
2.5 運算符的優先級 55
2.6 本章小結 56
2.7 課後習題 56
第3章 條件選擇與比較運算符和邏輯運算符 58
3.1 認識程序設計語言的結構 58
3.2 單個條件 59
3.2.1 比較運算符 59
3.2.2 if語句 60
3.3 雙向選擇 62
3.3.1 邏輯運算符 62
3.3.2 if/else語句 64
3.3.3 特殊的三元運算符 65
3.4 多個條件的選擇 67
3.4.1 嵌套if語句 67
3.4.2 if/elif/else語句 69
3.4.3 match/case語句 72
3.5 本章小結 73
3.6 課後習題 74
第4章 循環控制 75
4.1 for循環 75
4.1.1 使用for/in循環 75
4.1.2 range()函數 76
4.1.3 嵌套循環 79
4.2 while循環與random模塊 81
4.2.1 while循環的特色 81
4.2.2 獲得while循環執行次數 83
4.2.3 使用random模塊 85
4.3 特殊流程控制 88
4.3.1 break語句 88
4.3.2 continue語句 89
4.4 本章小結 90
4.5 課後習題 91
第5章 序列類型和字符串 92
5.1 序列類型概述 92
5.1.1 序列和迭代器 93
5.1.2 創建序列數據 94
5.1.3 序列元素的操作 94
5.1.4 與序列有關的函數 97
5.2 字符串與切片 98
5.2.1 創建字符串 98
5.2.2 轉義字符 102
5.2.3 字符串的切片操作 102
5.3 字符串常用方法 106
5.3.1 在字符串中的查找 107
5.3.2 統計、取代字符 109
5.3.3 字符串比對 110
5.3.4 字符串的分割與合並 111
5.3.5 字符串中字母的大小寫 113
5.4 格式化字符串 114
5.4.1 對齊字符串 114
5.4.2 格式化字符串的前導符號% 115
5.4.3 內置函數format() 117
5.4.4 str.format()方法 119
5.5 本章小結 124
5.6 課後習題 125
第6章 元組與列表 127
6.1 元組不可變 127
6.1.1 創建元組 127
6.1.2 讀取元組元素 130
6.1.3 元組的拆分 132
6.1.4 元組的切片操作 134
6.2 列表 134
6.2.1 創建和讀取列表 134
6.2.2 與列表有關的方法 136
6.2.3 數據排序 139
6.2.4 列表推導式 144
6.3 矩陣 148
6.3.1 產生矩陣 148
6.3.2 讀取矩陣 149
6.3.3 矩陣與列表推導式 151
6.3.4 不規則矩陣 153
6.4 列表的復制 155
6.4.1 列表與淺復制 155
6.4.2 copy模塊的copy()方法 156
6.4.3 deepcopy()方法復制對象本身 157
6.5 本章小結 158
6.6 課後習題 158
第7章 字典 160
7.1 認識映射類型 160
7.2 認識字典 161
7.2.1 創建字典 161
7.2.2 讀取字典中的元素 163
7.2.3 類的方法fromkeys() 164
7.3 字典的變動 165
7.3.1 添加與修改字典的元素 165
7.3.2 刪除字典的元素 167
7.3.3 合並字典 169
7.4 與鍵、值相關的方法 169
7.4.1 預防找不到鍵 170
7.4.2 讀取字典 172
7.4.3 字典推導式 173
7.5 默認字典和有序字典 175
7.5.1 默認字典 175
7.5.2 有序字典 178
7.6 本章小結 181
7.7 課後習題 181
第8章 集合 183
8.1 創建集合 183
8.1.1 認識哈希 184
8.1.2 創建集合對象 185
8.1.3 調用set()函數創建集合 186
8.2 集合的基本操作 187
8.2.1 添加元素和刪除元素 188
8.2.2 集合與數學計算 189
8.2.3 並集和交集運算 189
8.2.4 差集和異或集運算 191
8.3 集合的相關方法 192
8.3.1 加強版的計算 193
8.3.2 檢測集合 194
8.3.3 集合推導式 196
8.3.4 固定集合 197
8.4 本章小結 198
8.5 課後習題 198
第9章 函數 200
9.1 Python的內置函數 200
9.1.1 與數值有關的函數 200
9.1.2 與字符串有關的內置函數 201
9.1.3 與序列類型相關的函數 202
9.1.4 其他的內置函數 203
9.2 函數基本概念 203
9.2.1 函數基礎 204
9.2.2 定義函數 205
9.2.3 調用函數 206
9.2.4 返回值 207
9.3 參數基本機制 209
9.3.1 參數的傳遞 209
9.3.2 位置參數有順序性 211
9.3.3 默認參數值 212
9.3.4 關鍵字參數 215
9.4 可變長度的參數列表 217
9.4.1 形參的“*表達式” 217
9.4.2 “**表達式”與字典合作 219
9.4.3 “*”運算符拆分可迭代對象 223
9.4.4 “**”運算符拆分字典對象 225
9.5 更多函數的討論 227
9.5.1 作用域 228
9.5.2 函數是Python語言的基本組成結構 231
9.5.3 局部函數與閉包 232
9.5.4 Lambda函數 235
9.5.5 filter()函數 237
9.5.6 遞歸 238
9.6 本章小結 241
9.7 課後習題 242
第10章 模塊與函數庫 244
10.1 導入模塊 244
10.1.1 import/as語句 244
10.1.2 from/import語句 245
10.1.3 命名空間和dir()函數 245
10.2 自定義模塊 246
10.2.1 模塊路徑 246
10.2.2 導入自定模塊 247
10.2.3 屬性__name__ 249
10.3 獲取時間戳的time模塊 250
10.3.1 獲取當前時間 251
10.3.2 時間結構和格式轉換 253
10.4 datetime模塊 254
10.4.1 date類 255
10.4.2 time類獲取時間值 258
10.4.3 datetime類組合日期、時間 259
10.4.4 timedelta類計算時間間隔 261
10.5 套件 263
10.5.1 有趣的詞雲 263
10.5.2 封裝程序的Pyinstaller 267
10.6 本章小結 268
10.7 課後習題 269
第11章 認識面向對象 271
11.1 面向對象概念 271
11.1.1 對象具有屬性和方法 272
11.1.2 類是對象藍圖 272
11.1.3 抽象化是什麽 273
11.2 類與對象 273
11.2.1 認識類及其成員 273
11.2.2 先創建再初始化對象 277
11.2.3 設置、檢查對象屬性 280
11.2.4 處理對象的特殊方法 282
11.3 類與裝飾器 285
11.3.1 類也有屬性 285
11.3.2 認識裝飾器 286
11.3.3 類裝飾器 290
11.3.4 類方法和靜態方法 294
11.4 重載運算符 296
11.4.1 重載算術運算符 296
11.4.2 重載加號 297
11.4.3 重載比較大小的運算符 300
11.5 本章小結 301
11.6 課後習題 302
第12章 淺談繼承機制 304
12.1 認識繼承 304
12.1.1 繼承的相關名詞 304
12.1.2 繼承概念 304
12.1.3 特化和泛化 305
12.1.4 組合 305
12.2 繼承機制 306
12.2.1 產生繼承 306
12.2.2 多重繼承機制 309
12.2.3 繼承有順序,搜索有規則 309
12.3 子類覆蓋父類 311
12.3.1 使用super()函數 311
12.3.2 屬性__base__ 313
12.3.3 以特性存取屬性 314
12.4 抽象類與多態 318
12.4.1 定義抽象類 318
12.4.2 多態 319
12.4.3 組合 321
12.5 本章小結 322
12.6 課後習題 323
第13章 異常處理機制 325
13.1 什麽是異常 325
13.1.1 語法錯誤 325
13.1.2 引發異常 326
12.1.3 內建的Exception類 326
13.2 異常處理情況 329
13.2.1 設置捕捉器 329
13.2.2 Try語句究竟是如何工作的 331
13.2.3 try/else語句 333
13.2.4 try/finally語句 334
13.3 拋出異常 335
13.3.1 raise語句引發異常 335
13.3.2 assert語句 338
13.3.3 自定義異常處理 339
13.4 本章小結 341
13.5 課後習題 341
第14章 數據流與文件 343
14.1 認識文件與目錄 343
14.1.1 文件路徑 343
14.1.2 獲取路徑 344
14.2 數據流與io模塊 345
14.2.1 文件對象與io模塊 346
14.2.2 文件與open()函數 347
14.2.3 TextIOBase類與文件處理 348
14.2.4 文件指針 349
14.3 文本文件的讀寫 351
14.3.1 文件和指定模式 351
14.3.2 with/as語句 355
14.3.3 讀取文本文件 356
14.4 二進制文件 358
14.4.1 認識byte與bytearray 358
14.4.2 讀寫二進制文件 359
14.4.3 struct模塊與二進制數據 360
14.5 文本文件並非只有文字 363
14.5.1 淺談文字編碼 363
14.5.2 CSV格式 365
14.5.3 JSON格式 366
14.6 本章小結 369
14.7 課後習題 370
第15章 GUI界面 372
15.1 Python GUI 372
15.1.1 GUI相關套件 372
15.1.2 認識Tkinter套件 373
15.1.3 編寫一個簡單的窗口程序 376
15.2 版面管理員 377
15.2.1 Frame為容器 377
15.2.2 版面配置——pack()方法 383
15.2.3 grid()方法以行和列來設置位置 387
15.2.4 以坐標來定位的place()方法 389
15.3 處理文字的組件 391
15.3.1 Label組件 391
15.3.2 Entry組件 394
15.3.3 Text組件 397
15.3.4 Button組件 398
15.4 選項組件 400
15.4.1 Checkbutton 400
15.4.2 Radiobutton 402
15.5 顯示信息 403
15.6 本章小結 406
15.7 課後習題 407
第16章 繪圖與圖像 409
16.1 以Turtle繪圖 409
16.1.1 使用坐標系統 409
16.1.2 Turtle畫布與畫筆 410
16.1.3 著色 414
16.2 繪制幾何圖形 416
16.2.1 畫圓形 417
16.2.2 繪制三角形 419
16.2.3 繪制螺旋圖 420
16.3 認識Pillow套件 423
16.3.1 顏色與透明度 424
16.3.2 讀取圖像 426
16.4 圖像的基本操作 428
16.4.1 重編圖像 428
16.4.2 新建圖像 429
16.4.3 繪制圖形和文字 430
16.4.4 圖像的旋轉和翻轉 432
16.4.5 圖像的裁切與合成 435
16.5 本章小結 438
16.6 課後習題 439
附錄A 課後習題參考答案 441
第1章 Python世界 441
第2章 Python基本語法 442
第3章 條件選擇與比較運算符和邏輯運算符 443
第4章 循環控制 443
第5章 序列類型和字符串 444
第6章 元組與列表 446
第7章 字典 447
第8章 集合 448
第9章 函數 449
第10章 模塊與函數庫 452
第11章 認識面向對象 453
第12章 淺談繼承機制 454
第13章 異常處理機制 455
第14章 數據流與文件 456
第15章 GUI界面 457
第16章 繪圖與圖像 459