隨著互聯(lián)網(wǎng)數(shù)據(jù)的增加,如何高效地利用大數(shù)據(jù)已經(jīng)成為企業(yè)需要面對(duì)的首要問題,這個(gè)問題就涉及了數(shù)據(jù)顯示、數(shù)的存儲(chǔ)和數(shù)據(jù)分析,這三個(gè)方向是否有成熟的模塊呢?答案是有的,Python在這三個(gè)方向都有非常成熟的模塊,這些模塊已經(jīng)大量使用在企業(yè)級(jí)應(yīng)用中。方便了程序員的學(xué)習(xí),這些模塊有非常完善的開發(fā)文檔。筆者用Python可以很方便地處理百萬級(jí)別的大數(shù)據(jù),而且Python在Web應(yīng)用開發(fā)的前端和后端都有卓越的表現(xiàn)?紤]到市場(chǎng)上這方面的書籍還比較少,作者也很樂意去創(chuàng)作一本關(guān)于Python全棧開發(fā)的書,于是本書就應(yīng)運(yùn)而生。本書適合對(duì)Python感興趣,特別是想提升全棧開發(fā)能力的讀者閱讀。
全棧工程師,也稱為全端工程師(同時(shí)具備前端和后臺(tái)能力),是指掌握多種技能,并能利用多種技能獨(dú)立完成產(chǎn)品的人。Python全棧工程師,是指在精通Python編程語言的前提下,對(duì)于其他上下游的技術(shù)也有足夠的了解和掌握。本書上下游的技術(shù)涉及數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)分析和數(shù)據(jù)可視化等方面的知識(shí)。本書以實(shí)踐的方式,將這一系列的領(lǐng)域及理論知識(shí)結(jié)合到一起,幫助讀者構(gòu)建全棧開發(fā)的知識(shí)體系,并輔以精益及敏捷的思想,來一步步開發(fā)Web 應(yīng)用,讓讀者不只學(xué)會(huì)編碼,還在學(xué)完后具備真實(shí)項(xiàng)目的經(jīng)驗(yàn)。
王碩、劉友祝和張?jiān)坪釉谌斯ぶ悄堋⒋髷?shù)據(jù)分析及新技術(shù)開發(fā)等方面有豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)。擅長(zhǎng)J2EE(JSP/Servlet、JDBC、Struts2、Spring、Hibernate)項(xiàng)目開發(fā)、Python(程序GUI、數(shù)據(jù)分析、網(wǎng)絡(luò)爬蟲、機(jī)器學(xué)習(xí))項(xiàng)目開發(fā),以及JavaScript、HTML 5和數(shù)據(jù)庫(kù)技術(shù),是極寬Top開源團(tuán)隊(duì)的核心成員!禤yQt5快速開發(fā)與實(shí)戰(zhàn)》作者(電子工業(yè)出版社出版)。
初識(shí)Python語言 1
第2
Python基礎(chǔ)篇 20
2.1 變量 21
2.2 標(biāo)準(zhǔn)數(shù)據(jù)類型 22
2.2.1 數(shù)字( Number ) 22
2.2.2 字符串(String) 24
2.2.3 列表(List ) 28
2.2.4 元組(Tuple) 31
2.2.5 字典(Dictionary) 33
2.2.6 集合(Set) 35
2.3 標(biāo)識(shí)符 36
2.4 行和縮進(jìn) 37
2.5 運(yùn)算符和表達(dá)式 38
2.5.1 算數(shù)運(yùn)算符 38
2.5.2 比較運(yùn)算符 38
2.5.3 邏輯運(yùn)算符 39
2.5.4 成員運(yùn)算符 40
2.6 條件控制 41
2.7 循環(huán)語句 42
2.7.1 while 循環(huán) 42
2.7.2 for 語句 43
2.7.3 使用枚舉遍歷序列 44
2.8 函數(shù) 45
2.8.1 函數(shù)的定義和調(diào)用 45
2.8.2 函數(shù)中的文檔 46
2.8.3 默認(rèn)參數(shù) 47
2.8.4 不定長(zhǎng)參數(shù) 47
2.8.5 range()函數(shù) 48
2.8.6 函數(shù)作為參數(shù)傳遞 50
2.9 文件 51
2.9.1 操作文件 51
2.9.2 使用 with語句 56
2.9.3 電子表格 57
2.10 面向?qū)ο?59
2.10.1 類與對(duì)象的定義 59
2.10.2 私有屬性和方法 61
2.10.3 繼承 63
2.10.4 靜態(tài)方法 67
2.10.5 魔法方法和特殊屬性 68
2.10.6 可調(diào)用對(duì)象 69
2.11 錯(cuò)誤和異常 70
2.11.1 錯(cuò)誤 70
2.11.2 異常 71
2.11.3 處理異常 72
2.11.4 打印異常信息 74
2.11.5 自定義異常 74
2.12 模塊 75
2.12.1 導(dǎo)入模塊 75
2.12.2 模塊的__name__屬性 77
2.12.3 模塊路徑 79
2.12.4 包 80
2.13 常用模塊 82
2.13.1 os模塊 82
2.13.2 time模塊 85
第3章
Python高級(jí)篇 87
3.1 高級(jí)函數(shù)對(duì)象 88
3.1.1 lambda函數(shù) 88
3.1.2 map()函數(shù) 89
3.1.3 reduce()函數(shù) 90
3.1.4 迭代器(Iterator) 92
3.1.5 生成器(Generator) 95
3.1.6 裝飾器(Decorator) 99
3.2 多線程 104
3.2.1 多線程介紹 104
3.2.2 線程模塊 104
3.2.3 守護(hù)線程 107
3.2.4 優(yōu)雅地停止線程 109
3.2.5 多線程的鎖機(jī)制 112
3.2.6 本地線程變量 116
3.3 多進(jìn)程 117
3.3.1 Linux平臺(tái)下的多進(jìn)程 118
3.3.2 跨平臺(tái)的多進(jìn)程 120
3.3.3 跨平臺(tái)的多進(jìn)程間通信 127
3.3.4 分布式進(jìn)程 129
3.4 正則表達(dá)式 135
3.4.1 re.match函數(shù) 137
3.4.2 re.search函數(shù) 140
3.4.3 re.findall函數(shù) 141
3.5 JSON數(shù)據(jù)解析 142
3.5.1 JSON簡(jiǎn)介 142
3.5.2 Python處理JSON數(shù)據(jù) 144
3.5.3 自定義對(duì)象的序列化 146
3.6 存儲(chǔ)對(duì)象序列化 148
3.6.1 序列化對(duì)象 148
3.6.2 反序列化對(duì)象 149
3.7 發(fā)送E-mail 150
3.7.1 發(fā)送簡(jiǎn)單郵件 152
3.7.2 發(fā)送HTML格式的郵件 154
3.7.3 發(fā)送帶附件的郵件 155
第4章
使用Python操作數(shù)據(jù)庫(kù) 158
4.1 操作MySQL數(shù)據(jù)庫(kù) 159
4.1.1 MySQL簡(jiǎn)介 159
4.1.2 在Windows下安裝MySQL 160
4.1.3 在Linux下安裝MySQL 169
4.1.4 MySQL可視化工具 174
4.1.5 MySQL基礎(chǔ)知識(shí) 177
4.1.6 Python操作MySQL 183
4.2 操作MongoDB數(shù)據(jù)庫(kù) 192
4.2.1 MongoDB簡(jiǎn)介 192
4.2.2 安裝MongoDB 193
4.2.3 MongoDB基本操作 199
4.2.4 MongoDB的集合 200
4.2.5 MongoDB的文檔 202
4.2.6 使用Python操作MongoDB 206
4.3 操作Redis數(shù)據(jù)庫(kù) 211
4.3.1 Redis簡(jiǎn)介 211
4.3.2 安裝Redis 211
4.3.3 Redis開啟遠(yuǎn)程訪問 217
4.3.4 Redis可視化工具 217
4.3.5 Redis數(shù)據(jù)類型與操作 218
4.3.6 使用Python Redis模塊 223
4.3.7 連接Redis服務(wù)器 224
4.3.8 操作string類型 225
4.3.9 操作hash類型 229
4.3.10 操作list類型 231
4.3.11 操作set類型 233
4.3.12 操作sorted set類型 235
4.3.13 其他操作 237
第5章
Python網(wǎng)絡(luò)編程 238
5.1 網(wǎng)絡(luò)編程的基本概念 239
5.1.1 網(wǎng)絡(luò)基礎(chǔ)知識(shí) 239
5.1.2 網(wǎng)絡(luò)基本概念 240
5.1.3 網(wǎng)絡(luò)傳輸協(xié)議 245
5.2 Python 3 網(wǎng)絡(luò)編程 248
5.2.1 Socket()函數(shù) 248
5.2.2 TCP程序設(shè)計(jì) 250
5.2.3 UDP程序設(shè)計(jì) 254
5.2.4 Socket實(shí)現(xiàn)文件傳輸 255
5.2.5 多線程與網(wǎng)絡(luò)編程 261
第6章
Python自動(dòng)化運(yùn)維 264
6.1 自動(dòng)化運(yùn)維簡(jiǎn)介 265
6.2 WebLogic簡(jiǎn)介 266
6.3 安裝WebLogic 266
6.3.1 安裝WebLoigc Server 267
6.3.2 配置域(Domain) 271
6.3.3 啟動(dòng)WebLogic Server 276
6.3.4 配置JDK環(huán)境變量 278
6.4 WebLogic部署和配置 280
6.4.1 啟動(dòng)WebLogic腳本工具(WLST) 280
6.4.2 通過網(wǎng)頁(yè)部署Java Web應(yīng)用 286
6.4.3 通過命令行部署工程 290
6.4.4 通過腳本部署Java Web應(yīng)用 292
6.4.5 通過網(wǎng)頁(yè)配置JNDI數(shù)據(jù)源 297
6.4.6 通過腳本配置JNDI數(shù)據(jù)源 307
6.5 Python在Linux運(yùn)維中的常見應(yīng)用 310
6.5.1 統(tǒng)計(jì)磁盤使用情況 311
6.5.2 統(tǒng)計(jì)內(nèi)存使用情況 312
6.5.3 讀取passwd文件中的用戶名和
shell信息 313
6.5.4 統(tǒng)計(jì)Linux系統(tǒng)的平均負(fù)載 314
6.5.5 查看CPU信息 316
6.5.6 查看MySQL的慢日志
(slow-query-log) 319
6.5.7 監(jiān)控MySQL的狀態(tài) 321
6.6 psutil的使用 324
6.6.1 獲取CPU信息 325
6.6.2 獲取內(nèi)存信息 326
6.6.3 獲取磁盤信息 327
第7章