![](/c3/10080425445.jpg)
出版社:人民郵電出版社 ISBN:9787115407092 商品編碼:10080425445 品牌:文軒 出版時間:2016-01-01 代碼:79 作者:盧布諾維克(BillLubanovic)著丁
"![](http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg) 作 者:(美)盧布諾維克(Bill Lubanovic) 著;丁嘉瑞,梁傑,禹常隆 譯 著 定 價:79 出 版 社:人民郵電出版社 出版日期:2016年01月01日 頁 數:383 裝 幀:平裝 ISBN:9787115407092 ●前言 xiv 第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 &nb組 46 3.3.1 使用()組 46 3.3.2 &nb組與列表 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 tgreSQL 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 本書介紹Python 語言的基礎知識及其在各個領域的具體應用,基於新版本3.x。書中首先介紹了Python 語言的一些基本知識,然後介紹了在商業、科研以及藝術領域使用Python 開發各種應用的實例。文字簡潔明了,案例豐富實用,是一本難得的Python 入門手冊。 本書適合所有編程初學者閱讀。 (美)盧布諾維克(Bill Lubanovic) 著;丁嘉瑞,梁傑,禹常隆 譯 著 盧布諾維克,Bill Lubanovic自從1977年開始就在uNIx繫統下開發軟件,從1981年開始在圖形用戶界面下開發,1990年開始使用數據庫,1993年開始Web編程。最近,他帶領一個遠程團隊為一家初創公司開發核心服務和分布式繫統。目前,他正在為一家超級計算機公司整合Open5tack服務。 ![](https://img10.360buyimg.com/imgzone/jfs/t1/147514/7/5440/73116/5f34a3beE3ba58783/f5b2391383f5625c.jpg)
" |