目 錄
第1章 感受Python精彩世界 1
1.1 Python概述 1
1.2 選擇Python的理由 2
1.3 搭建Python的編程環(huán)境 2
1.3.1 在Windows下安裝Python 3
1.3.2 在Linux下安裝Python 4
1.4 Python自帶的開發(fā)工具IDLE 5
1.5 使用PyCharm作為編程工具 5
1.6 疑難解惑 10
第2章 Python的基礎語法 11
2.1 程序結構 11
2.1.1 縮進分層 11
2.1.2 換行問題 12
2.1.3 代碼注釋 13
2.2 Python的輸入和輸出 14
2.2.1 接收鍵盤輸入 14
2.2.2 輸出處理結果 15
2.3 變量 16
2.4 標識符與保留字 18
2.5 簡單數(shù)據類型 18
2.5.1 數(shù)字類型 19
2.5.2 字符串類型 22
2.5.3 數(shù)據類型的相互轉換 23
2.6 Python結構數(shù)據類型 24
2.6.1 集合類型(Sets) 24
2.6.2 列表類型(List) 25
2.6.3 元組類型(Tuple) 25
2.6.4 字典類型(Dictionary) 26
2.7 運算符和優(yōu)先級 26
2.7.1 算術運算符 27
2.7.2 比較運算符 28
2.7.3 賦值運算符 29
2.7.4 邏輯運算符 30
2.7.5 位運算符 31
2.7.6 成員運算符 33
2.7.7 身份運算符 33
2.7.8 運算符的優(yōu)先級 34
2.8 疑難解惑 37
第3章 列表、元組和字典的基本操作 38
3.1 列表的基本操作 38
3.1.1 列表對象的特性 38
3.1.2 列表的常見操作 39
3.1.3 列表的操作符+和* 41
3.1.4 內置的函數(shù)和方法 42
3.1.5 遞推式構造列表 46
3.2 元組的基本操作 47
3.2.1 元組對象的常用操作 47
3.2.2 元組的內置函數(shù) 49
3.3 字典的基本操作 50
3.3.1 字典對象的常用操作 50
3.3.2 字典的內置函數(shù)和方法 52
3.4 疑難解惑 55
第4章 熟練操作字符串 57
4.1 字符串的常用操作 57
4.1.1 訪問字符串中的值 57
4.1.2 分割指定范圍的字符 58
4.1.3 更新字符串 59
4.1.4 使用轉義字符 60
4.2 熟練使用字符串運算符 61
4.3 格式化字符串 63
4.4 內置的字符串方法 65
4.4.1 capitalize()方法 65
4.4.2 count()方法 65
4.4.3 find()方法 66
4.4.4 index()方法 67
4.4.5 isalnum()方法 67
4.4.6 join()方法 68
4.4.7 isalpha()方法 68
4.4.8 isdigit()方法 69
4.4.9 low()方法 69
4.4.10 max()方法 70
4.4.11 min()方法 70
4.4.12 replace()方法 71
4.4.13 swapcase()方法 71
4.4.14 title()方法 72
4.5 Python 3.8的新特性—f-strings開始支持等號 72
4.6 疑難解惑 73
第5章 程序的控制結構 74
5.1 程序流程概述 74
5.2 基本處理流程 74
5.3 多樣的賦值語句 76
5.3.1 基本賦值 76
5.3.2 序列解包 77
5.3.3 鏈式賦值 78
5.3.4 其他賦值方式 78
5.4 順序結構 80
5.5 布爾表達式 81
5.6 選擇結構與語句 83
5.6.1 選擇結構 83
5.6.2 if語句 83
5.6.3 if嵌套 85
5.6.4 多重條件判斷 86
5.7 循環(huán)控制語句 86
5.7.1 while語句 86
5.7.2 for語句 88
5.7.3 continue語句和else語句 89
5.7.4 pass語句 91
5.8 Python 3.8的新特性—賦值表達式 91
5.9 疑難解惑 93
第6章 函數(shù) 96
6.1 使用函數(shù)的優(yōu)勢 96
6.2 調用內置函數(shù) 97
6.3 定義函數(shù) 101
6.4 函數(shù)的參數(shù) 103
6.4.1 必需參數(shù) 103
6.4.2 關鍵字參數(shù) 103
6.4.3 默認參數(shù) 104
6.4.4 可變參數(shù) 105
6.5 有返回值的函數(shù)和無返回值的函數(shù) 106
6.6 形參和實參 108
6.7 變量作用域 109
6.8 返回函數(shù) 110
6.9 遞歸函數(shù) 113
6.9.1 使用遞歸函數(shù) 113
6.9.2 利用遞歸函數(shù)解決漢諾塔問題 114
6.9.3 防止棧溢出 116
6.10 匿名函數(shù) 117
6.11 偏函數(shù) 118
6.12 函數(shù)的內置屬性和命名空間 120
6.13 輸入和輸出函數(shù) 121
6.14 Python 3.8的新特性—強制位置參數(shù) 123
6.15 疑難解惑 123
第7章 對象與類 125
7.1 理解面向對象程序設計 125
7.1.1 什么是對象 125
7.1.2 面向對象的特征 127
7.1.3 什么是類 127
7.2 類的定義 127
7.3 類的構造方法和內置屬性 128
7.4 類實例 131
7.4.1 創(chuàng)建類實例 131
7.4.2 類實例的內置屬性 134
7.5 類的內置方法 135
7.6 重載運算符 142
7.7 類的繼承 143
7.8 類的多態(tài) 147
7.9 類的封裝 149
7.10 Python的垃圾回收機制 150
7.11 疑難解惑 151
第8章 程序調試和異常處理 153
8.1 什么是異常 153
8.2 常見錯誤和異常 154
8.3 熟悉內置異常 158
8.4 使用try…except語句處理異常 164
8.5 全捕捉 165
8.6 異常中的else 166
8.7 異常中的pass 167
8.8 異常類的實例 167
8.9 清除異常 169
8.10 拋出異常 170
8.10.1 raise語句 170
8.10.2 結束解釋器的運行 171
8.10.3 離開嵌套循環(huán) 171
8.11 自定義異常 172
8.12 程序調試 174
8.12.1 使用assert語句 174
8.12.2 使用__debug__內置變量 175
8.13 Python 3.8的新特性—監(jiān)聽事件參數(shù) 176
8.14 疑難解惑 176
第9章 模塊與類庫 178
9.1 什么是模塊 178
9.2 什么是類庫 180
9.3 模塊和類庫的基本操作 181
9.4 模塊的名稱空間 182
9.5 自定義模塊 184
9.6 將模塊打包 185
9.7 熟悉運行期服務模塊組 187
9.8 掌握字符串處理模塊 195
9.9 疑難解惑 198
第10章 日期和時間 199
10.1 認識日期和時間 199
10.1.1 時間戳 199
10.1.2 struct_time元組 200
10.1.3 格式化時間 200
10.2 日歷模塊 203
10.3 time模塊 205
10.3.1 localtime([secs])函數(shù) 205
10.3.2 gmtime([secs])函數(shù) 206
10.3.3 mktime ([tuple ])函數(shù) 206
10.3.4 ctime([secs])函數(shù) 207
10.3.5 sleep(secs)函數(shù) 207
10.3.6 strptime(string [,format])函數(shù) 207
10.4 datetime模塊 208
10.4.1 date類 208
10.4.2 time類 211
10.4.3 datetime類 213
10.4.4 timedelta類 216
10.4.5 tzinfo類 216
10.5 日期和時間的常用操作 217