Python語言及其應用PDF文檔下載

本書介紹Python 語言的基礎知識及其在各個領域的具體應用,基于最新版本3.x。書中首先介紹了Python 語言的一些必備基本知識,然后介紹了在商業、科研以及藝術領域使用Python 開發各種應用的實例。文字簡潔明了,案例豐富實用,是一本難得的Python 入門手冊。

Bill Lubanovic現為Penguin Computing公司高級軟件工程師。1977年開始開發Unix軟件,1981年開始開發GUI軟件,1990年開始開發數據庫軟件,1993年開始開發Web軟件。與人合著有Linux System Administration。

Python語言及其應用PDF文檔下載的圖1

全網最全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

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP