本書介紹Python 語言的基礎知識及其在各個領域的具體應用,基于最新版本3.x,書中首先介紹了Python 語言的一些必備基本知識,然后介紹了在商業、科研以及藝術領域使用Python 開發各種應用的實體,文字簡潔明了,案例豐富實用,是一本難得的Python 入門手冊,
Bill Lubanovic現為Penguin Computing公司高級軟體工程師,1977年開始開發Unix軟體,1981年開始開發GUI軟體,1990年開始開發資料庫軟體,1993年開始開發Web軟體,與人合著有Linux System Administration,
全網最全Python必讀書藉合集(PDF檔案免費下載)
目錄
前言
第1章 Python初探 1
1.1 真實世界中的Python 5
1.2 Python與其他語言 5
1.3 為什么選擇Python 7
1.4 何時不應該使用Python 8
1.5 Python 2與Python 3 8
1.6 安裝Python 9
1.7 運行Python 9
1.7.1 使用互動式解釋器 9
1.7.2 使用Python檔案 10
1.7.3 下一步 11
1.8 禪定一刻 11
1.9 練習 11
第2章 Python基本元素:數字、字串和變數 13
2.1 變數、名字和物件 13
2.2 數字 16
2.2.1 整數 17
2.2.2 優先級 20
2.2.3 基數 21
2.2.4 型別轉換 22
2.2.5 一個int型有多大 23
2.2.6 浮點數 24
2.2.7 數學函式 24
2.3 字串 24
2.3.1 使用引號創建 25
2.3.2 使用str()進行型別轉換 27
2.3.3 使用\ 轉義 27
2.3.4 使用+ 拼接 28
2.3.5 使用* 復制 28
2.3.6 使用[] 提取字符 28
2.3.7 使用[start:end:step]分片 29
2.3.8 使用len()獲得長度 31
2.3.9 使用split()分割 32
2.3.10 使用join()合并 32
2.3.11 熟悉字串 32
2.3.12 大小寫與對齊方式 33
2.3.13 使用replace()替換 34
2.3.14 更多關于字串的內容 35
2.4 練習 35
第3章 Python容器:串列、元組、字典與集合 36
3.1 串列和元組 36
3.2 串列 37
3.2.1 使用[] 或list()創建串列 37
3.2.2 使用list()將其他資料型別轉換成串列 37
3.2.3 使用[offset]獲取元素 38
3.2.4 包含串列的串列 39
3.2.5 使用[offset]修改元素 39
3.2.6 指定范圍并使用切片提取元素 40
3.2.7 使用append()添加元素至尾部 40
3.2.8 使用extend()或+=合并串列 40
3.2.9 使用insert()在指定位置插入元素 41
3.2.10 使用del洗掉指定位置的元素 41
3.2.11 使用remove()洗掉具有指定值的元素 42
3.2.12 使用pop()獲取并洗掉指定位置的元素 42
3.2.13 使用index()查詢具有特定值的元素位置 42
3.2.14 使用in判斷值是否存在 42
3.2.15 使用count()記錄特定值出現的次數 43
3.2.16 使用join()轉換為字串 43
3.2.17 使用sort()重新排列元素 44
3.2.18 使用len()獲取長度 44
3.2.19 使用= 賦值,使用copy()復制 45
3.3 元組 46
3.3.1 使用()創建元組 46
3.3.2 元組與串列 47
3.4 字典 47
3.4.1 使用{}創建字典 48
3.4.2 使用dict()轉換為字典 48
3.4.3 使用[key]添加或修改元素 49
3.4.4 使用update()合并字典 50
3.4.5 使用del洗掉具有指定鍵的元素 51
3.4.6 使用clear()洗掉所有元素 51
3.4.7 使用in 判斷是否存在 51
3.4.8 使用[key]獲取元素 52
3.4.9 使用keys()獲取所有鍵 52
3.4.10 使用values()獲取所有值 53
3.4.11 使用items()獲取所有鍵值對 53
3.4.12 使用= 賦值,使用copy()復制 53
3.5 集合 53
3.5.1 使用set()創建集合 54
3.5.2 使用set()將其他型別轉換為集合 54
3.5.3 使用in測驗值是否存在 55
3.5.4 合并及運算子 56
3.6 比較幾種資料結構 58
3.7 建立大型資料結構 59
3.8 練習 60
第4章 Python外殼:代碼結構 61
4.1 使用# 注釋 61
4.2 使用\ 連接 62
4.3 使用if、elif 和else進行比較 63
4.4 使用while進行回圈 66
4.4.1 使用break跳出回圈 66
4.4.2 使用continue跳到回圈開始 67
4.4.3 回圈外使用else 67
4.5 使用for迭代 68
4.5.1 使用break跳出回圈 69
4.5.2 使用continue跳到回圈開始 69
4.5.3 回圈外使用else 69
4.5.4 使用zip()并行迭代 70
4.5.5 使用range()生成自然數序列 71
4.5.6 其他迭代方式 71
4.6 推導式 72
4.6.1 串列推導式 72
4.6.2 字典推導式 74
4.6.3 集合推導式 74
4.6.4 生成器推導式 74
4.7 函式 75
4.7.1 位置引數 79
4.7.2 關鍵字引數 79
4.7.3 指定默認引數值 79
4.7.4 使用收集位置引數 80
4.7.5 使用*收集關鍵字引數 81
4.7.6 檔案字串 82
4.7.7 一等公民:函式 82
4.7.8 內部函式 84
4.7.9 閉包 84
4.7.10 匿名函式:lambda()函式 85
4.8 生成器 86
4.9 裝飾器 87
4.10 命名空間和作用域 89
4.11 使用try和except處理錯誤 91
4.12 撰寫自己的例外 93
4.13 練習 94
第5章 Python盒子:模塊、包和程式 95
5.1 獨立的程式 95
5.2 命令列引數 96
5.3 模塊和import陳述句 96
5.3.1 匯入模塊 96
5.3.2 使用別名匯入模塊 98
5.3.3 匯入模塊的一部分 98
5.3.4 模塊搜索路徑 98
5.4 包 99
5.5 Python 標準庫 99
5.5.1 使用setdefault()和defaultdict()處理缺失的鍵 100
5.5.2 使用Counter()計數 101
5.5.3 使用有序字典OrderedDict()按鍵排序 103
5.5.4 雙端佇列:堆疊+佇列 103
5.5.5 使用itertools迭代代碼結構 104
5.5.6 使用pprint()友好輸出 105
5.6 獲取更多Python代碼 105
5.7 練習 106
第6章 物件和類 107
6.1 什么是物件 107
6.2 使用class定義類 108
6.3 繼承 109
6.4 覆寫方法 111
6.5 添加新方法 112
6.6 使用super從父類得到幫助 112
6.7 self的自辯 113
6.8 使用屬性對特性進行訪問和設定 114
6.9 使用名稱重整保護私有特性 117
6.10 方法的型別 118
6.11 鴨子型別 119
6.12 特殊方法 120
6.13 組合 123
6.14 何時使用類和物件而不是模塊 124
6.15 練習 126
第7章 像高手一樣玩轉資料 127
7.1 文本字串 127
7.1.1 Unicode 127
7.1.2 格式化 134
7.1.3 使用正則運算式匹配 137
7.2 二進制資料 144
7.2.1 位元組和位元組陣列 144
7.2.2 使用struct轉換二進制資料 145
7.2.3 其他二進制資料工具 148
7.2.4 使用binascii()轉換位元組/ 字串 149
7.2.5 位運算子 149
7.3 練習 149
第8章 資料的歸宿 152
8.1 檔案輸入/輸出 152
8.1.1 使用write()寫文本檔案 153
8.1.2 使用read()、readline()或者readlines()讀文本檔案 154
8.1.3 使用write()寫二進制檔案 156
8.1.4 使用read()讀二進制檔案 157
8.1.5 使用with自動關閉檔案 157
8.1.6 使用seek()改變位置 157
8.2 結構化的文本檔案 159
8.2.1 CSV 159
8.2.2 XML 161
8.2.3 HTML 163
8.2.4 JSON 163
8.2.5 YAML 165
8.2.6 安全提示 166
8.2.7 組態檔 167
8.2.8 其他交換格式 168
8.2.9 使用pickle序列化 168
8.3 結構化二進制檔案 169
8.3.1 電子資料表 169
8.3.2 層次資料格式 169
8.4 關系型資料庫 170
8.4.1 SQL 170
8.4.2 DB-API 172
8.4.3 SQLite 172
8.4.4 MySQL 174
8.4.5 PostgreSQL 174
8.4.6 SQLAlchemy 174
8.5 NoSQL資料存盤 179
8.5.1 dbm family 180
8.5.2 memcached 180
8.5.3 Redis 181
8.5.4 其他的NoSQL 189
8.6 全文資料庫 189
8.7 練習 190
第9章 剖析Web 191
9.1 Web 客戶端 192
9.1.1 使用telnet進行測驗 193
9.1.2 Python的標準Web庫 194
9.1.3 拋開標準庫:requests 195
9.2 Web 服務端 196
9.2.1 最簡單的Python Web服務器 196
9.2.2 Web服務器網關介面 198
9.2.3 框架 198
9.2.4 Bottle 198
9.2.5 Flask 201
9.2.6 非Python的Web服務器 204
9.2.7 其他框架 206
9.3 Web服務和自動化 207
9.3.1 webbrowser模塊 207
9.3.2 Web API和表述性狀態傳遞 208
9.3.3 JSON 209
9.3.4 抓取資料 209
9.3.5 用BeautifulSoup來抓取HTML 209
9.4 練習 210
第10章 系統 212
10.1 檔案 212
10.1.1 用open()創建檔案 212
10.1.2 用exists()檢查檔案是否存在 213
10.1.3 用isfile()檢查是否為檔案 213
10.1.4 用copy()復制檔案 213
10.1.5 用rename()重命名檔案 214
10.1.6 用link()或者symlink()創建鏈接 214
10.1.7 用chmod()修改權限 214
10.1.8 用chown()修改所有者 214
10.1.9 用abspath()獲取路徑名 215
10.1.10 用realpath()獲取符號的路徑名 215
10.1.11 用remove()洗掉檔案 215
10.2 目錄 215
10.2.1 使用mkdir()創建目錄 215
10.2.2 使用rmdir()洗掉目錄 215
10.2.3 使用listdir()列出目錄內容 216
10.2.4 使用chdir()修改當前目錄 216
10.2.5 使用glob()列出匹配檔案 216
10.3 程式和行程 217
10.3.1 使用subprocess創建行程 218
10.3.2 使用multiprocessing創建行程 219
10.3.3 使用terminate()終止行程 219
10.4 日期和時間 220
10.4.1 datetime模塊 221
10.4.2 使用time模塊 223
10.4.3 讀寫日期和時間 225
10.4.4 其他模塊 227
10.5 練習 228
第11章 并發和網路 229
11.1 并發 230
11.1.1 佇列 231
11.1.2 行程 231
11.1.3 執行緒 232
11.1.4 綠色執行緒和gevent 234
11.1.5 twisted 236
11.1.6 asyncio 238
11.1.7 Redis 238
11.1.8 佇列之上 241
11.2 網路 241
11.2.1 模式 242
11.2.2 發布-訂閱模型 242
11.2.3 TCP/IP 245
11.2.4 套接字 246
11.2.5 ZeroMQ 250
11.2.6 scapy 253
11.2.7 網路服務 253
11.2.8 Web服務和API 255
11.2.9 遠程處理 256
11.2.10 大資料和MapReduce 260
11.2.11 在云上作業 261
11.3 練習 264
第12章 成為真正的Python開發者 265
12.1 關于編程 265
12.2 尋找Python代碼 265
12.3 安裝包 266
12.3.1 使用pip 266
12.3.2 使用包管理工具 267
12.3.3 從源代碼安裝 267
12.4 集成開發環境 268
12.4.1 IDLE 268
12.4.2 PyCharm 268
12.4.3 IPython 269
12.5 命名和檔案 269
12.6 測驗代碼 270
12.6.1 使用pylint、pyflakes和pep8檢查代碼 270
12.6.2 使用unittest進行測驗 272
12.6.3 使用doctest進行測驗 276
12.6.4 使用nose進行測驗 277
12.6.5 其他測驗框架 278
12.6.6 持續集成 278
12.7 除錯Python代碼 278
12.8 使用pdb進行除錯 279
12.9 記錄錯誤日志 284
12.10 優化代碼 286
12.10.1 測量時間 286
12.10.2 演算法和資料結構 288
12.10.3 Cython、NumPy和C擴展 289
12.10.4 PyPy 289
12.11 原始碼控制 289
12.11.1 Mercurial 290
12.11.2 Git 290
12.12 復制本書代碼 292
12.13 更多內容 293
12.13.1 書 293
12.13.2 網站 293
12.13.3 社區 293
12.13.4 大會 294
12.14 后續內容 294
附錄A Python的藝術 295
附錄B 作業中的Python 307
附錄C Python的科學 320
附錄D 安裝Python 3 339
附錄E 習題解答 349
附錄F 速查表 380
作者介紹 383
封面介紹 383
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/16193.html
標籤:Python
