編輯推薦
適讀人群 :程序員,科研人員,編程愛好者,大數據處理人員 Python是當前非常熱門的編程語言和大數據處理工具。本書全麵介紹瞭Python應用的各個方麵,覆蓋瞭當前Python的主流應用。各章獨立性較強,讀者可從本書的任何一章開始閱讀,並且立即將所學知識應用到工作實踐中。
內容簡介
Python是一門強大、快捷的編程語言。本書采用瞭即學即用的方式講解Python.全書主要包含Python語言知識以及大數據使用的numpy、pandas、pytables;Web編程框架web.py;操作postgresql數據庫。讀者在學完一章的基礎知識之後,可繼續研讀本章的高級話題,從而達到立即應用的目的。本書特彆適閤軟件開發人員和數據分析工程師閱讀,也可用於高等院校計算機教學。
目錄
齣版說明
前言
第 1 章 緒論 1
1.1 Python 的特點 1
1.1.1 為何適應各種用戶需求 2
1.1.2 膠水特點 2
1.1.3 語言特點 2
1.1.4 語法風格 3
1.1.5 多平颱 5
1.1.6 豐富的支持 5
1.2 Python 版本與集成包 5
1.3 Python 的下載與安裝 6
1.3.1 下載 Python 6
1.3.2 Python 在 Windows 下的安裝 6
1.3.3 Anaconda 8
1.4 python 的 IDE 9
1.4.1 IDLE 9
1.4.2 PyCharm 9
1.4.3 Spyder 10
1.4.4 其他 IDE 11
1.5 軟件包的安裝方法 11
1.5.1 easy_install 12
1.5.2 pip 12
1.6 高級話題:Matplotlib 13
1.6.1 Matplotlib 特點 13
1.6.2 Matplotlib 繪圖 13
1.6.3 用 Matplotlib 繪製股票曆史 K 綫圖 15
1.7 小結 17
第 2 章 數據類型 18
2.1 數字數據類型 18
2.1.1 布爾型 bool 19
2.1.2 基本整型 int 20
2.1.3 長整型 20
2.1.4 雙精度浮點型 float 21
2.1.5 十進製浮點型 Decimal 21
2.1.6 復數 Complex 22
2.1.7 數字運算符 23
2.1.8 數字類型函數 24
2.2 序列 26
2.2.1 字符串 28
2.2.2 列錶 39
2.2.3 元組 45
2.3 字典 48
2.3.1 字典創建 48
2.3.2 字典訪問 49
2.3.3 字典相關函數 51
2.4 高級話題:NumPy 54
2.4.1 NumPy 數組與 Python 列錶的區彆 54
2.4.2 NumPy 數據類型 55
2.5 小結 57
第 3 章 控製流程與運算 58
3.1 選擇結構 58
3.1.1 單分支結構 58
3.1.2 雙分支結構 59
3.1.3 多分支結構 60
3.1.4 條件錶達式 62
3.2 循環結構 62
3.2.1 while 語句 62
3.2.2 for 語句 65
3.3 高級話題:NumPy 的數組操作 70
3.3.1 創建數組 70
3.3.2 索引和切片 71
3.3.3 數組對象的屬性 72
3.3.4 數組和標量之間的運算 73
3.3.5 數組的轉置 74
3.3.6 通用函數 74
3.3.7 統計方法 75
3.3.8 集閤運算 76
3.3.9 隨機數 76
3.3.10 排序 77
3.3.11 綫性代數 78
3.3.12 訪問文件 78
3.4 小結 79
第 4 章 函數與函數式編程 80
4.1 函數 80
4.1.1 定義函數 80
4.1.2 函數調用 82
4.1.3 內部/內嵌函數 82
4.2 函數參數 83
4.2.1 標準化參數 83
4.2.2 可變數量的參數 86
4.2.3 函數傳遞 89
4.3 裝飾器 90
4.3.1 無參數裝飾器 90
4.3.2 帶參數裝飾器 93
4.4 函數式編程 94
4.4.1 lambda 錶達式 94
4.4.2 內建函數 map、filter 、reduce 96
4.4.3 偏函數應用 98
4.5 變量作用域 99
4.5.1 全局變量和局部變量 99
4.5.2 global 語句 100
4.5.3 閉包與外部作用域 101
4.6 遞歸 102
4.7 生成器 102
4.8 高級話題:SciPy 104
4.8.1 傅裏葉變換 105
4.8.2 濾波 107
4.9 小結 109
第 5 章 文件 110
5.1 磁盤文件 110
5.1.1 打開、關閉磁盤文件 110
5.1.2 寫文件 112
5.1.3 讀文件 114
5.1.4 文件指針操作 116
5.2 StringIO 類文件 116
5.3 文件係統操作 120
5.3.1 os 模塊 120
5.3.2 os.path 模塊 124
5.3.3 shutil 模塊 127
5.4 高級話題:Python 讀寫 Excel 文件 130
5.4.1 xlwt 庫 130
5.4.2 xlrd 庫 133
5.4.3 xlutils 庫 134
5.4 小結 135
第 6 章 模塊包 136
6.1 模塊 136
6.1.1 搜索路徑 136
6.1.2 導入模塊 137
6.1.3 導入指定的模塊屬性 137
6.1.4 加載模塊 138
6.1.5 名稱空間 138
6.1.6 “編譯的”Python 文件 139
6.1.7 自動導入模塊 139
6.1.8 循環導入 139
6.2 包 141
6.3 高級話題:程序打包 142
6.3.1 Distutils 142
6.3.2 py2exe 144
6.4 小結 144
第 7 章 類 145
7.1 基本概念 145
7.2 類定義 146
7.3 實例 148
7.3.1 創建實例 148
7.3.2 初始化 149
7.3.3 _dict_屬性 151
7.3.4 特殊方法 152
7.4 繼承 155
7.5 多態 158
7.6 可見性 159
7.7 python 類中的屬性 160
7.8 高級話題:抽象基類 163
7.9 小結 166
第 8 章 數據庫 167
8.1 DB-API2.0 167
8.2 Psycopg 2 170
8.3 MySQL 173
8.4 高級話題:ORM 175
8.5 小結 178
第 9 章 網絡編程 179
9.1 網絡基礎 179
9.2 CGI 182
9.2.1 CGI 模塊 182
9.2.2 WSGI 183
9.3 高級話題:Flask 184
9.3.1 Flask 簡介 184
9.3.2 Flask-SQLAlchemy 185
9.3.3 Flask-WTF 186
9.3.4 Jinja2 187
9.3.5 用 Matplotlib 與 Flask 顯示動態圖片 189
9.3.6 Flask-Script 190
9.3.7 Flask 程序運行 191
9.4 小結 192
第 10 章 正則錶達式 193
10.1 Python 的正則錶達式語法 193
10.2 re 模塊 195
10.2.1 Python 正則錶達式用法 195
10.2.2 編譯一個模式 197
10.2.3 模式替換 198
10.3 高級話題:Beautiful Soup 198
10.4 小結 202
第 11 章 圖形用戶界麵編程 203
11.1 Tkinter 203
11.1.1 Tkinter 組件 203
11.1.2 Tkinter 迴調、綁定 206
11.1.3 Matplotlib 應用於 Tkinter 208
11.2 高級話題:PyQt 210
11.2.1 PyQt 介紹 210
11.2.2 PyQt 的事件 214
11.2.3 PyQt 的 ToDo 實例 215
11.3 小結 219
第 12 章 大數據的利器 220
12.1 JSON 220
12.1.1 JSON 格式定義 220
12.1.2 simplejson 庫 221
12.1.3 通過 JSON 讀取匯率 226
12.2 XML 227
12.2.1 XML 基本定義 227
12.2.2 LXML 庫使用 228
12.2.3 通過 XML 讀取新浪和人民網的 RSS 229
12.3 HDF5 229
12.3.1 HDF5 格式定義 229
12.3.2 PyTables 使用 230
12.4 pandas 232
12.4.1 pandas 介紹 232
12.4.2 pandas 的 Series 232
12.4.3 DataFrame 的創建 234
14.4.4 DataFrame 的索引訪問 235
12.4.5 DataFrame 的數據賦值 239
12.4.6 DataFrame 的基本運算 239
12.4.7 pandas 的 IO 操作 240
12.4.8 pandas 讀取 EIA 的原油價格 241
12.5 小結 243
附錄 244
附錄 A Python 編譯安裝 244
附錄 B Virtualenv Python 虛擬環境 246
附錄 C Python 2 還是 Python 3 248
附錄 D 科學傢的 Python 252
附錄 E 無處不在的 Python 253
前言/序言
Python 是一種麵嚮對象、解釋型計算機程序設計語言,其語法簡潔清晰、易於學習,幾乎可以在所有的操作係統下運行。Python 常被稱為“膠水”語言,因為它能夠把不同語言編寫的各個模塊輕鬆地組織在一起,從而將眾多的優秀 Fortran 和 C 語言庫集成到 Pyhton 環境下,幫助開發者處理各種工作。Python 的優秀特性決定瞭其在實際應用中的廣泛性,在很多領域如快速原型開發、網絡服務器腳本、科學計算、文檔處理、數據庫編程、嵌入開發、GUI開發、遊戲開發和移動開發中均有廣泛應用。目前 Python 語言越來越受到重視,並已有大量成功的案例,如 YouTube(視頻分享網站)、豆瓣(社區網站)、OpenStack(雲計算平颱)和Tornado(Web 服務器)等都是基於Python 開發的。
本書既介紹瞭 Python 的基礎知識,也介紹瞭很多 Python 的高級話題,並附有實例,是一本即學即用的書。本書首先介紹瞭 Python 的數據類型、編程語法、函數、類和模塊等基礎知識,然後介紹瞭 Python 在網絡、數據庫、正則錶達式和大數據方麵的應用。本書每一章的最後都介紹瞭與該章內容相關的高級話題,這些高級話題可直接在數據處理、網站開發和數據庫管理等領域使用,使得讀者每學習一章即可通過該章內容解決工作、科研中的實際問題,充分體現瞭即學即用特點,突破瞭以往必須將書讀完纔能用於實戰的思路。高級話題涵蓋瞭大數據分析用的 NumPy、SciPy、PyTables 和 pandas 等工具,講解瞭如何采集數據以及如何為調研報告生成漂亮的圖錶等內容。書中的案例采用實際項目使用的小測試案例,具有極強的實用性。
本書使用 Anaconda Python 作為開發環境。Anaconda 是 Python 的科學技術包的閤集,包含瞭大量的科學計算包,如 NumPy、SicPy 和 Matplotlib 等,並支持 Windows、Linux、OS X環境。相比其他 Python 集成開發環境,Anaconda 不僅支持 Python 2.X,而且支持 Python 3.X的科學計算包。可從 Anaconda 的官網(https://www.continuum.io/downloads)下載相應版本的 Anaconda。如果 Anaconda 未包含書中所用的模塊,可參考第 1 章介紹的 pip 和 easy_install的方法安裝相應模塊。
本書的第 6 章由張秀鳳編寫,第 10 章由丁維纔編寫,其餘內容由本人編寫。寫書過程中,經常忽視女兒的好玩天性,沒能很好地陪伴女兒,心有愧疚。謹以此書獻給我的女兒和所有關心支持我的人。
張燕妮
Python即學即用 下載 mobi epub pdf txt 電子書