第0章 預備 1
0.1 關於Python的故事 1
0.1.1 Python的昨天、今天和明天 1
0.1.2 優雅的Python 2
0.1.3 與其他語言比較 3
0.1.4 《Python之禪》 3
0.1.5 感謝Guido van Rossum 4
0.2 從小工到專傢 4
0.2.1 Python的版本 5
0.2.2 學習Python是否需要基礎 5
0.2.3 從小工到專傢 5
0.3 安裝Python 7
0.3.1 在Ubuntu係統中安裝Python 7
0.3.2 在Windows係統中安裝Python 9
0.3.3 在OS X係統中安裝Python 10
0.4 開發工具 10
0.4.1 Hello,world 10
0.4.2 集成開發環境 11
0.4.3 Python的IDE 11
第1章 基本對象類型 13
1.1 數和四則運算 13
1.1.1 數 14
1.1.2 變量 16
1.1.3 四則運算 17
1.1.4 大整數 18
1.1.5 浮點數 18
1.2 除法 19
1.2.1 整數除以整數 19
1.2.2 異常的計算 19
1.2.3 引用模塊解決除法問題 20
1.2.4 餘數 21
1.2.5 四捨五入 22
1.3 常用數學函數和運算優先級 23
1.3.1 使用math 23
1.3.2 運算優先級 25
1.4 一個簡單的程序 26
1.4.1 程序 26
1.4.2 Hello,World 27
1.4.3 解一道題目 28
1.4.4 編譯 30
1.5 字符串 31
1.5.1 初步認識字符串 31
1.5.2 變量和字符串 33
1.5.3 連接字符串 34
1.5.4 Python轉義符 36
1.5.5 鍵盤輸入 36
1.5.6 原始字符串 38
1.5.7 索引和切片 39
1.5.8 字符串基本操作 41
1.5.9 字符串格式化輸齣 44
1.5.10 常用的字符串方法 47
1.6 字符編碼 51
1.6.1 編碼 52
1.6.2 計算機中的字符編碼 53
1.6.3 Python字符編碼 54
1.7 列錶 55
1.7.1 定義 55
1.7.2 索引和切片 56
1.7.3 反轉 58
1.7.4 操作列錶 59
1.7.5 常用的列錶函數 61
1.7.6 比較列錶和字符串 71
1.7.7 列錶和字符串轉化 73
1.8 元組 75
1.8.1 定義 75
1.8.2 索引和切片 76
1.8.3 元組的用途 77
1.9 字典 77
1.9.1 創建字典 78
1.9.2 訪問字典的值 80
1.9.3 基本操作 80
1.9.4 字符串格式化輸齣 82
1.9.5 字典的方法 82
1.10 集閤 90
1.10.1 創建集閤 90
1.10.2 set的方法 92
1.10.3 不變的集閤 95
1.10.4 集閤運算 96
第2章 語句和文件 100
2.1 運算符 100
2.1.1 算術運算符 100
2.1.2 比較運算符 100
2.1.3 邏輯運算符 102
2.1.4 復雜的布爾錶達式 104
2.2 簡單語句 105
2.2.1 什麼是語句 105
2.2.2 import 105
2.2.3 賦值語句 106
2.3 條件語句 109
2.3.1 if 109
2.3.2 if ... elif ... else 110
2.3.3 三元操作符 112
2.4 for循環語句 112
2.4.1 for循環 112
2.4.2 從例子中理解for循環 113
2.4.3 range(start,stop[, step]) 116
2.4.4 並行迭代 120
2.4.5 enumerate() 123
2.4.6 列錶解析 125
2.5 while循環語句 126
2.5.1 做猜數字遊戲 127
2.5.2 break和continue 129
2.5.3 while...else 130
2.5.4 for...else 131
2.6 文件 131
2.6.1 讀文件 131
2.6.2 創建文件 133
2.6.3 使用with 135
2.6.4 文件的狀態 136
2.6.5 read/readline/readlines 137
2.6.6 讀很大的文件 138
2.6.7 seek 139
2.7 初識迭代 140
2.7.1 逐個訪問 141
2.7.2 文件迭代器 142
第3章 函數 145
3.1 函數的基本概念 145
3.1.1 理解函數 146
3.1.2 定義函數 147
3.1.3 關於命名 150
3.2 深入探究函數 153
3.2.1 返迴值 153
3.2.2 函數中的文檔 155
3.2.3 函數的屬性 156
3.2.4 參數和變量 157
3.2.5 參數收集 159
3.3 函數對象 161
3.3.1 遞歸 162
3.3.2 傳遞函數 163
3.3.3 嵌套函數 164
3.3.4 初識裝飾器 166
3.3.5 閉包 168
3.4 特殊函數 169
3.4.1 lambda 170
3.4.2 map 171
3.4.3 reduce 173
3.4.4 filter 174
3.4.5 zip()補充 175
3.5 命名空間 176
3.5.1 全局變量和局部變量 176
3.5.2 作用域 177
3.5.3 命名空間 178
第4章 類 181
4.1 類的基本概念 181
4.1.1 術語 181
4.1.2 編寫類 184
4.2 編寫簡單的類 185
4.2.1 創建類 185
4.2.2 實例 187
4.3 屬性和數據 188
4.3.1 類屬性 188
4.3.2 創建實例 190
4.3.3 實例屬性 192
4.3.4 self的作用 194
4.3.5 數據流轉 195
4.4 方法 196
4.4.1 綁定方法和非綁定方法 196
4.4.2 類方法和靜態方法 198
4.5 繼承 201
4.5.1 概念 201
4.5.2 單繼承 202
4.5.3 調用覆蓋的方法 205
4.5.4 多重繼承 206
4.6 多態和封裝 208
4.6.1 多態 208
4.6.2 封裝和私有化 212
4.7 定製類 214
4.7.1 類和對象類型 214
4.7.2 自定義對象類型 215
4.8 黑魔法 219
4.8.1 優化內存 219
4.8.2 屬性攔截 223
4.9 迭代器 226
4.10 生成器 229
4.10.1 定義生成器 230
4.10.2 yield 231
第5章 錯誤和異常 233
5.1 錯誤 233
5.2 異常 233
5.3 處理異常 236
5.4 assert 242
第6章 模塊 244
6.1 編寫模塊 244
6.1.1 模塊是程序 245
6.1.2 模塊的位置 246
6.1.3 __all__在模塊中的作用 248
6.1.4 包和庫 249
6.2 標準庫概述 250
6.2.1 引用的方式 250
6.2.2 深入探究 251
6.2.3 幫助、文檔和源碼 252
6.3 標準庫舉例:sys、copy 254
6.3.1 sys 254
6.3.2 copy 257
6.4 標準庫舉例:OS 257
6.4.1 操作文件:重命名、刪除文件 258
6.4.2 操作目錄 260
6.4.3 文件和目錄屬性 262
6.4.4 操作命令 263
6.5 標準庫舉例:堆 264
6.5.1 基本知識 265
6.5.2 heapq 267
6.5.3 deque 269
6.6 標準庫舉例:日期和時間 271
6.6.1 calendar 271
6.6.2 time 273
6.6.3 datetime 277
6.7 標準庫舉例:XML 279
6.7.1 XML 279
6.7.2 遍曆查詢 280
6.7.3 編輯 283
6.7.4 常用屬性和方法總結 285
6.8 標準庫舉例:JSON 286
6.8.1 基本操作 286
6.8.2 大JSON字符串 287
6.9 第三方庫 287
6.9.1 安裝第三方庫 288
6.9.2 舉例:requests庫 289
第7章 操作數據 293
7.1 將數據存入文件 293
7.1.1 pickle 293
7.1.2 shelve 294
7.2 操作MySQL數據庫 295
7.2.1 概況 295
7.2.2 安裝 296
7.2.3 運行 297
7.2.4 安裝PyMySQL 297
7.2.5 連接數據庫 298
7.2.6 數據庫錶 300
7.2.7 操作數據庫 301
7.3 操作MongoDB 306
7.3.1 安裝MongoDB 307
7.3.2 啓動 308
7.3.3 安裝pymongo 309
7.3.4 連接 309
7.3.5 編輯 310
7.4 操作SQLite 314
7.4.1 建立連接對象 314
7.4.2 建立遊標對象 315
跋 318
· · · · · · (
收起)