資料介紹
本書內容易于理解,而且讀起來生動有趣,是編程和Python初學者不可多得的優秀教程。書中首先介紹了Python的基礎知識,然后逐漸深入多種主題,結合教程和攻略式風格來講解Python 3中的概念。每章結尾的練習可以幫助你鞏固所學的知識。
本書會為你學習Python打下堅實的基礎,包括測試、調試、代碼復用的最佳實踐以及其他開發技巧。同時還會告訴你如何在商業、科學和藝術領域使用Python,并教會你使用多種Python工具和開源包。
通過閱讀本書,你將能夠:
學習簡單的數據類型,以及基本的數學和文本操作
學習用Python內置的數據結構來處理數據
掌握Python的代碼結構和函數的用法
使用模塊和包編寫大規模Python程序
深入理解對象、類和其他面向對象特性
學習使用普通文件、關系數據庫和NoSQL數據庫來存儲數據
使用Python構建Web客戶端、服務器、API和服務
管理系統任務,比如程序、進程和線程
理解并發和網絡編程的基礎知識
目錄
前言 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 元組 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
- 現代無線電實驗的PDF電子書免費下載 285次下載
- 半導體收音機淺談的PDF電子書免費下載 171次下載
- 深度學習入門:基于Python的理論與實現電子書 32次下載
- 光學諧振腔的圖解分析與設計方法的PDF電子書免費下載 132次下載
- MATLAB函數速查手冊PDF電子書免費下載 150次下載
- 電子管數據手冊合集PDF電子書免費下載 82次下載
- 高級語言程序設計從菜鳥到大師深入C語言程序設計PDF電子書免費下載 182次下載
- 寫給文科生看的編程入門Python管窺PDF電子書免費下載 7次下載
- python入門教材電子書合集免費下載 31次下載
- Java基礎教程PDF電子書免費下載 66次下載
- 51單片機C語言程序100例電子書免費下載 987次下載
- 電冰箱快速維修PDF電子書免費下載 51次下載
- 家電維修1128例PDF電子書免費下載 207次下載
- STM8 C語言精品編程100例PDF版電子書免費下載 0次下載
- 數字信號處理算法C語言實現PDF版電子書免費下載 0次下載
- 使用Python進行自然語言處理 481次閱讀
- Python中Excel轉PDF的實現步驟 1209次閱讀
- 電子書閱讀器內置鋰電池供電自動切換電路 2030次閱讀
- Python怎么批量生成PDF文檔 1168次閱讀
- Python的下載與安裝 1398次閱讀
- 如何使用Python直接給微信推送消息 2105次閱讀
- Python語言中的云端系統知識 2537次閱讀
- Python語言的發展歷程和特點 9622次閱讀
- 機器學習入門寶典《統計學習方法》的介紹 4682次閱讀
- 淺談Python語言 1608次閱讀
- Python和其他語言相較如何? 2997次閱讀
- 機器學習和數據科學必讀的10本免費在線電子書和書的詳細介紹 6745次閱讀
- Python語言在人工智能中的功能及優勢 1.1w次閱讀
- 最新電子書拆解評測系列報道(一):打開你的眼界 1.2w次閱讀
- r語言中有哪些取整運算_python和r語言的區別對比_python與r語言哪個好 3398次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1491次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 95次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 11次下載 | 免費
- 6100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 7基于單片機和 SG3525的程控開關電源設計
- 0.23 MB | 4次下載 | 免費
- 8基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537793次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論