Python 語言是目前市面上*受歡迎的程序設(shè)計語言之一,除了功能強大之外,還有快速上手、隨時可擴充、社群支持等特性。本書以16章的篇幅快速介紹Python 語言的精要,包括程序設(shè)計的重要性以及由來、Python語言的基礎(chǔ)知識、程序設(shè)計環(huán)境的安裝與設(shè)置、軟件包管理與在線資源、jupyter的使用 、數(shù)據(jù)類型、表達式、函數(shù)、程序控制流程、與數(shù)據(jù)庫的操作、提取網(wǎng)頁數(shù)據(jù)、Firebase數(shù)據(jù)庫、Facebook Graph API、Matplotlib 、pillow、Django、云端開發(fā)Cloud9以及Git版本控制技巧等內(nèi)容。
本書的結(jié)構(gòu)與敘述風(fēng)格更加親民,以精選的日常問題為主線,讓讀者分析和學(xué)習(xí)這些日常問題的解決方法,既適合想學(xué)習(xí)Python程序設(shè)計的初學(xué)者自學(xué),也適合使用 Python 語言開發(fā)網(wǎng)絡(luò)應(yīng)用的專業(yè)人員參考,同時還可作為大專院校和培訓(xùn)機構(gòu)的教材。
何敏煌中國臺灣交通大學(xué)信息科學(xué)所博士。平時除了研究KVM虛擬機云端容錯技術(shù)之外,也利用閑暇時間致力于信息科技的中文化和普及化。他主要的專長為Linux虛擬主機的管理與維護、WordPress網(wǎng)站的構(gòu)建、電子商務(wù)應(yīng)用、網(wǎng)站后端技術(shù)的開發(fā)與應(yīng)用以及程序設(shè)計。
第1章 程序設(shè)計所需要的基礎(chǔ)知識
1
1-1 什么是程序設(shè)計語言 2
1-2 程序設(shè)計的重要性 4
1-3 最受歡迎的程序設(shè)計語言 5
1-4 學(xué)習(xí)程序設(shè)計需要知道的邏輯概念 6
1-5 本書的結(jié)構(gòu)及內(nèi)容說明 9
第2章 快速了解Python程序設(shè)計語言 11
2-1
Python簡介 12
2-1-1
Python的歷史沿革 12
2-1-2
深受歡迎的Python程序設(shè)計語言 12
2-1-3
Python程序設(shè)計基本元素 13
2-1-4
Python程序易用性示范 17
2-2 學(xué)習(xí)Python的重要性 19
2-3
Python 2 和 Python 3 的差異 20
2-4
Python的應(yīng)用領(lǐng)域 21
2-5 習(xí) 題 22
第3章 Python程序設(shè)計環(huán)境的安裝與設(shè)置
23
3-1 馬上使用Python編寫程序 24
3-1-1
Windows用戶 24
3-1-2
Mac OS 及 Linux 用戶 24
3-1-3
在交互式界面中測試你的Python 25
3-2 安裝Python 3.x窗口環(huán)境 27
3-2-1
Windows的IDLE窗口環(huán)境 27
3-2-2
Microsoft Python Tools for Visual Studio 32
3-2-3
Mac OS的IDLE窗口環(huán)境 34
3-3 簡單且易上手的iPython
Notebook以及jupyter 38
3-3-1
安裝jupyter 38
3-3-2
在命令提示符中執(zhí)行iPython 40
3-3-3
執(zhí)行瀏覽器版本的iPython Notebook 42
3-4 程序代碼編輯器的介紹 46
3-4-1
Notepad 的安裝與應(yīng)用 46
3-4-2
TextWrangler的安裝與應(yīng)用 50
3-5 在Linux虛擬機中運行Python
52
3-5-1
安裝VMWare Workstation Player 52
3-5-2
創(chuàng)建Ubuntu 14 Workstation 虛擬機 54
3-5-3
在Ubuntu 16 Workstation中運行Python 60
3-6 習(xí) 題 62
第4章 Python軟件包管理與在線資源 63
4-1
Python軟件包管理工具 64
4-1-1
easy_install的安裝與使用 64
4-1-2
pip安裝與使用 65
4-2
Python虛擬環(huán)境的設(shè)置 66
4-2-1
在Mac OS中安裝Virtualenv 66
4-2-2
在Windows中安裝Virtualenv 67
4-3 高級軟件包安裝實踐 68
4-3-1
Anaconda軟件包介紹 68
4-3-2
在Windows中安裝Anaconda、NumPy以及Matplotlib 69
4-3-3
在Mac OS中安裝Anaconda、NumPy以及Matplotlib 72
4-3-4
使用Matplotlib繪制精美數(shù)學(xué)圖形 75
4-4
Python的在線資源與支持 77
4-4-1
PyPI網(wǎng)站介紹 77
4-4-2
在PyPI中尋找可以用來產(chǎn)生數(shù)獨題目的軟件包 79
4-4-3
運用找到的軟件包設(shè)計程序 81
4-5 習(xí) 題 81
第5章 開始設(shè)計Python程序 82
5-1
jupyter的介紹與使用 83
5-1-1
iPython運行環(huán)境的介紹 83
5-1-2
Python 2中文編碼的設(shè)置 84
5-1-3
iPython Notebook的介紹與使用 86
5-2 程序的構(gòu)想與實現(xiàn) 89
5-2-1
理清問題的需求 89
5-2-2
定義要存儲的數(shù)據(jù)及其相關(guān)類型 90
5-2-3
設(shè)計算法與繪制流程圖 91
5-2-4
動手編寫程序 92
5-2-5
簡易調(diào)試方法 95
5-3 猜數(shù)字游戲 95
5-3-1
問題需求 95
5-3-2
定義要存儲的數(shù)據(jù)及其相關(guān)的類型 95
5-3-3
設(shè)計算法與繪制流程圖 96
5-3-4
完成程序 97
5-4 習(xí) 題 98
第6章 Python程序設(shè)計語言速覽 99
6-1 常數(shù)、變量和數(shù)據(jù)類型
100
6-1-1
常數(shù)和變量的差異 100
6-1-2
變量的命名原則 102
6-1-3
程序設(shè)計語言的保留字 103
6-1-4
基本數(shù)據(jù)類型 103
6-2
Python表達式 106
6-2-1
算術(shù)表達式 106
6-2-2
關(guān)系表達式 107
6-2-3
邏輯表達式 108
6-3 列表list、元組tuple、字典dict與集合set類型 109
6-3-1
list列表與tuple元組 109
6-3-2
list的操作應(yīng)用 111
6-3-3
dict字典 113
6-3-4
set集合 115
6-3-5
查看兩個變量是否為同一個內(nèi)存地址 115
6-4 內(nèi)建函數(shù)和自定義函數(shù)
117
6-4-1
內(nèi)建函數(shù) 117
6-4-2
自定義函數(shù) 119
6-4-3
import與自定義模塊 122
6-5 單詞出現(xiàn)頻率的統(tǒng)計程序
123
6-6 習(xí) 題 124
第7章 程序控制流程 125
7-1 判斷語句的應(yīng)用 126
7-1-1
if/elif/else 126
7-1-2
嵌套if/elif/else 127
7-1-3
單行的if/else語句 128
7-2 循環(huán)語句 128
7-2-1
基本循環(huán)語句 128
7-2-2
嵌套循環(huán) 130
7-2-3
break和continue的運用 131
7-2-4
迭代器 132
7-3 例外處理 134
7-3-1
例外處理的基本概念 134
7-3-2
try/except 135
7-3-3
處理不同的例外種類 136
7-4 程序流程控制的應(yīng)用 137
7-5 習(xí) 題 142
第8章 文件、數(shù)據(jù)文件與數(shù)據(jù)庫的操作 143
8-1 文件與目錄的操作 144
8-1-1
os.path 144
8-1-2
glob 145
8-1-3
os.walk 146
8-1-4
os.system和shutil 148
8-2 數(shù)據(jù)文件的操作 149
8-2-1
文本文件的讀取與寫入 149
8-2-2
文本文件的應(yīng)用 154
8-2-3
讀取JSON格式的數(shù)據(jù) 158
8-3
Python與數(shù)據(jù)庫 161
8-3-1
安裝Firefox的SQLite Manager附加組件 162
8-3-2
創(chuàng)建簡易數(shù)據(jù)庫 164
8-3-3
Python存取數(shù)據(jù)庫的方法 167
8-4 數(shù)據(jù)庫應(yīng)用程序 168
8-5 習(xí) 題 173
第9章 Python提取網(wǎng)站數(shù)據(jù)基礎(chǔ)篇
174
9-1 因特網(wǎng)程序設(shè)計基礎(chǔ) 175
9-1-1
因特網(wǎng)與URL 175
9-1-2
解析網(wǎng)址 178
9-1-3
提取網(wǎng)頁數(shù)據(jù) 182
9-1-4
使用正則表達式提取網(wǎng)頁內(nèi)的電子郵件賬號 183
9-2 網(wǎng)頁分析與應(yīng)用 186
9-2-1
HTML網(wǎng)頁格式簡介 186
9-2-2
安裝BeautifulSoup 190
9-2-3
使用BeautifulSoup提取信息 192
9-2-4
進一步分析網(wǎng)頁的內(nèi)容 195
9-3 網(wǎng)絡(luò)應(yīng)用程序 198
9-3-1
將數(shù)據(jù)存儲為文件 198
9-3-2
以網(wǎng)頁的形式整理數(shù)據(jù) 200
9-3-3
在本地建立網(wǎng)頁應(yīng)用 203
9-4 習(xí) 題 205
第10章 Python網(wǎng)頁數(shù)據(jù)提取的實踐 206
10-1
把網(wǎng)頁數(shù)據(jù)存儲到數(shù)據(jù)庫中 207
10-1-1
網(wǎng)頁數(shù)據(jù)的運用模式 207
10-1-2
把數(shù)據(jù)存儲到SQLite 208
10-1-3
把數(shù)據(jù)導(dǎo)入到網(wǎng)絡(luò)MySQL數(shù)據(jù)庫中 213
10-1-4
編寫本地程序讀取網(wǎng)絡(luò)MySQL數(shù)據(jù)庫中的數(shù)據(jù) 217
10-1-5
使用PHP建立信息提供網(wǎng)站 219
10-2
自動提取數(shù)據(jù) 221
10-2-1
檢測網(wǎng)頁內(nèi)容是否曾經(jīng)更新 222
10-2-2
Windows自動化設(shè)置 226
10-2-3
Mac OS自動化設(shè)置 230
10-3
通過Python操作瀏覽器 230
10-3-1
安裝Selenium 231
10-3-2
使用Selenium操作Firefox 233
10-3-3
通過Selenium讀取網(wǎng)頁信息 235
10-3-4
登錄會員網(wǎng)站的方法 237
10-4
習(xí) 題 240
第11章 Firebase在線實時數(shù)據(jù)庫操作實踐
241
11-1
Firebase數(shù)據(jù)庫簡介 242
11-1-1
NoSQL數(shù)據(jù)庫概念 242
11-1-2
注冊Firebase賬號 242
11-1-3
連接Firebase和Python 245
11-2
Python存取Firebase數(shù)據(jù)庫的實例 247
11-2-1
Firebase網(wǎng)絡(luò)數(shù)據(jù)庫的操作 247
11-2-2
使用Python寫入Firebase數(shù)據(jù)庫 249
11-2-3
使用Python讀取Firebase數(shù)據(jù)庫 252
11-2-4
整合范例 254
11-3
網(wǎng)頁連接Firebase數(shù)據(jù)庫 258
11-3-1
Firebase Hosting免費主機空間的設(shè)置 258
11-3-2
使用JavaScript讀取Firebase數(shù)據(jù)庫 261
11-3-3
Firebase網(wǎng)頁設(shè)計 262
11-4
Firebase數(shù)據(jù)庫的安全驗證 265
11-4-1
Firebase安全性的設(shè)置 265
11-4-2
Email/Password機制 266
11-4-3
Python端的設(shè)置 268
11-4-4
將具有用戶驗證功能的數(shù)據(jù)寫入程序 269
11-5
習(xí) 題 271
第12章 Python應(yīng)用實例 272
12-1
Facebook Graph API的介紹與使用 273
12-1-1
安裝facebook-sdk 273
12-1-2
Facebook Graph簡介 273
12-1-3
Python程序存取Facebook設(shè)置 279
12-1-4
通過Python發(fā)表文章 281
12-1-5
使用程序幫忙點贊 283
12-1-6
下載在Facebook中的照片 283
12-2
照片文件的管理 285
12-2-1
照片文件的分析 285
12-2-2
找出重復(fù)的照片文件 287
12-2-3
將照片文件重新編號 290
12-3
找出網(wǎng)絡(luò)中最常被使用的中文詞 291
12-3-1
搜集新聞文章 291
12-3-2
安裝中文分詞模塊jieba 292
12-3-3
找出文章中最常被使用的詞匯 292
12-4
習(xí) 題 294
第13章 Python繪圖與圖像處理 295
13-1
Matplotlib的安裝與使用 296
13-1-1
Matplotlib介紹 296
13-1-2
使用Matplotlib畫圖 297
13-1-3
統(tǒng)計圖的繪制 300
13-1-4
數(shù)學(xué)函數(shù)圖形的繪制 306
13-2
pillow的安裝與使用 309
13-2-1
pillow簡介 310
13-2-2
讀取圖像文件的信息 310
13-2-3
簡易圖像文件處理 311
13-3
批量處理圖像文件 314
13-3-1
為自己的照片加上專屬標(biāo)志以及批量調(diào)整照片尺寸 314
13-3-2
中文字體的處理與應(yīng)用 316
13-3-3
為圖像文件加入水印功能 319
13-4
習(xí) 題 321
第14章 用Python打造特色網(wǎng)站 322
14-1
使用Python編寫一個網(wǎng)站程序 323
14-1-1
網(wǎng)站原理 323
14-1-2
網(wǎng)站程序的輸入與輸出 324
14-1-3
使用Python編寫的網(wǎng)站框架 325
14-2
Django簡介 328
14-2-1
下載與安裝Django 328
14-2-2
Django目錄及重要配置文件解說 330
14-2-3
前端與后端的搭配 332
14-2-4
建立你的第一個Django網(wǎng)站 333
14-3
認識Django Framework的架構(gòu) 334
14-3-1 Django的MTV架構(gòu) 334
14-3-2
URL的對應(yīng)方法詳解 335
14-3-3
模板的使用 336
14-3-4
使用靜態(tài)文件夾存取文件 339
14-4
Django與數(shù)據(jù)庫 340
14-4-1
在Django中使用數(shù)據(jù)庫 341
14-4-2
建立模型 342
14-4-3
admin后臺管理 343
14-4-4
讀取數(shù)據(jù)庫中的數(shù)據(jù) 345
14-4-5
短網(wǎng)址轉(zhuǎn)址網(wǎng)站模板的內(nèi)容 347
14-5
習(xí) 題 350
第15章 程序設(shè)計所需要的基礎(chǔ)知識
351
15-1
網(wǎng)站的測試與調(diào)整 352
15-1-1
上線前的前置工作 352
15-1-2
網(wǎng)站的部署策略 353
15-1-3
網(wǎng)址的購買和選用 353
15-2
網(wǎng)站開發(fā)環(huán)境的部署 354
15-2-1
利用ngrok隨時連線你的網(wǎng)站 354
15-2-2
申請Cloud9 IDE賬號 356
15-2-3
建立Cloud9開發(fā)環(huán)境 357
15-2-4
測試與執(zhí)行Django網(wǎng)站 361
15-3
云虛擬機部署方法 365
15-3-1
DigitalOcean簡介 365
15-3-2
創(chuàng)建Ubuntu虛擬機 369
15-3-3
安裝、設(shè)置Apache服務(wù)器和Django Framework 373
15-3-4
上傳文件和網(wǎng)站上線 374
15-4
習(xí) 題 378
第16章 提升Python能力的下一步 379
16-1
程序代碼的版本控制 380
16-1-1
Git簡介 380
16-1-2
Git實踐操作 382
16-1-3
BitBucket的申請使用 387
16-1-4
整合BitBucket和Cloud9 390
16-2
云APP主機的部署 392
16-2-1
Heroku簡介 392
16-2-2
創(chuàng)建Heroku賬號 393
16-2-3
整合Cloud9和Heroku 395
16-2-4
在Heroku上部署Django網(wǎng)站 396
16-3
提升學(xué)習(xí)的下一步 402