前言
Python從入門到活用的16章講解筆者從中學時的AppleII時代就開始寫BASIC以及彙編程式,在大學畢業後如願進入高職的數據處理科教學生BASIC程式設計,到現在過了快20年的光陰了。從中學一直到大學信息管理系,從QuickBASIC、彙編語言、C/C++一路教到Java語言,教過的學生只有少部分能夠真正了解到程式設計的樂趣,並能夠靈活地運用程式來解決學業以及工作上所遇到的難題。
其中的一部分原因當然是這些無趣的程式語言所造成的,但是,也有大部分原因是學習者缺乏對“程式設計”的熱情。不像筆者在大三的時候,受到啟蒙恩師——師大戴建耘教授及何宏發教授的影響,初學TurboC,就開始設計計算機輔助教學軟體以及計算機象棋程式,讓我對開拓計算機的潛能深深著迷,也才會一直走在信息科學研究這一條道路上。然而,這些動輒上萬行的程式代碼項目,對於非信息本科系的學習者來說,就算是有再大的動機與熱情,也只能望程式代碼而興嘆。
圖書簡介
Python語言是目前市面上最受歡迎的程式設計語言之一,除了功能強大之外,還有快速上手、隨時可擴充、社群支持等特性。本書以16章的篇幅快速介紹Python語言的精要,包括程式設計的重要性以及由來、Python語言的基礎知識、程式設計環境的安裝與設定、軟體包管理與線上資源、jupyter的使用、數據類型、表達式、函式、程式控制流程、與資料庫的操作、提取網頁數據、Firebase資料庫、FacebookGraphAPI、Matplotlib、pillow、Django、雲端開發Cloud9以及Git版本控制技巧等內容。
本書的結構與敘述風格更加“親民”,以精選的日常問題為主線,讓讀者分析和學習這些日常問題的解決方法,既適合想學習Python程式設計的初學者自學,也適合使用Python語言開發網路套用的專業人員參考,同時還可作為大專院校和培訓機構的教材。
目錄
第1章程式設計所需要的基礎知識1
1-1什麼是程式設計語言2
1-2程式設計的重要性4
1-3最受歡迎的程式設計語言5
1-4學習程式設計需要知道的邏輯概念6
1-5本書的結構及內容說明9
第2章快速了解Python程式設計語言11
2-1Python簡介12
2-1-1Python的歷史沿革12
2-1-2深受歡迎的Python程式設計語言12
2-1-3Python程式設計基本元素13
2-1-4Python程式易用性示範17
2-2學習Python的重要性19
2-3Python2和Python3的差異20
2-4Python的套用領域21
2-5習題22
第3章Python程式設計環境的安裝與設定23
3-1馬上使用Python編寫程式24
3-1-1Windows用戶24
3-1-2MacOS及Linux用戶24
3-1-3在互動式界面中測試你的Python25
3-2安裝Python3.x視窗環境27
3-2-1Windows的IDLE視窗環境27
3-2-2MicrosoftPythonToolsforVisualStudio32
3-2-3MacOS的IDLE視窗環境34
3-3簡單且易上手的iPythonNotebook以及jupyter38
3-3-1安裝jupyter38
3-3-2在命令提示符中執行iPython40
3-3-3執行瀏覽器版本的iPythonNotebook42
3-4程式代碼編輯器的介紹46
3-4-1Notepad++的安裝與套用46
3-4-2TextWrangler的安裝與套用50
3-5在Linux虛擬機中運行Python52
3-5-1安裝VMWareWorkstationPlayer52
3-5-2創建Ubuntu14Workstation虛擬機54
3-5-3在Ubuntu16Workstation中運行Python60
3-6習題62
第4章Python軟體包管理與線上資源63
4-1Python軟體包管理工具64
4-1-1easy_install的安裝與使用64
4-1-2pip安裝與使用65
4-2Python虛擬環境的設定66
4-2-1在MacOS中安裝Virtualenv66
4-2-2在Windows中安裝Virtualenv67
4-3高級軟體包安裝實踐68
4-3-1Anaconda軟體包介紹68
4-3-2在Windows中安裝Anaconda、NumPy以及Matplotlib69
4-3-3在MacOS中安裝Anaconda、NumPy以及Matplotlib72
4-3-4使用Matplotlib繪製精美數學圖形75
4-4Python的線上資源與支持77
4-4-1PyPI網站介紹77
4-4-2在PyPI中尋找可以用來產生數獨題目的軟體包79
4-4-3運用找到的軟體包設計程式81
4-5習題81
第5章開始設計Python程式82
5-1jupyter的介紹與使用83
5-1-1iPython運行環境的介紹83
5-1-2Python2中文編碼的設定84
5-1-3iPythonNotebook的介紹與使用86
5-2程式的構想與實現89
5-2-1理清問題的需求89
5-2-2定義要存儲的數據及其相關類型90
5-2-3設計算法與繪製流程圖91
5-2-4動手編寫程式92
5-2-5簡易調試方法95
5-3猜數字遊戲95
5-3-1問題需求95
5-3-2定義要存儲的數據及其相關的類型95
5-3-3設計算法與繪製流程圖96
5-3-4完成程式97
5-4習題98
第6章Python程式設計語言速覽99
6-1常數、變數和數據類型100
6-1-1常數和變數的差異100
6-1-2變數的命名原則102
6-1-3程式設計語言的保留字103
6-1-4基本數據類型103
6-2Python表達式106
6-2-1算術表達式106
6-2-2關係表達式107
6-2-3邏輯表達式108
6-3列表list、元組tuple、字典dict與集合set類型109
6-3-1list列表與tuple元組109
6-3-2list的操作套用111
6-3-3dict字典113
6-3-4set集合115
6-3-5查看兩個變數是否為同一個記憶體地址115
6-4內建函式和自定義函式117
6-4-1內建函式117
6-4-2自定義函式119
6-4-3import與自定義模組122
6-5單詞出現頻率的統計程式123
6-6習題124
第7章程式控制流程125
7-1判斷語句的套用126
7-1-1if/elif/else126
7-1-2嵌套if/elif/else127
7-1-3單行的if/else語句128
7-2循環語句128
7-2-1基本循環語句128
7-2-2嵌套循環130
7-2-3break和continue的運用131
7-2-4疊代器132
7-3例外處理134
7-3-1例外處理的基本概念134
7-3-2try/except135
7-3-3處理不同的例外種類136
7-4程式流程控制的套用137
7-5習題142
第8章檔案、數據檔案與資料庫的操作143
8-1檔案與目錄的操作144
8-1-1os.path144
8-1-2glob145
8-1-3os.walk146
8-1-4os.system和shutil148
8-2數據檔案的操作149
8-2-1文本檔案的讀取與寫入149
8-2-2文本檔案的套用154
8-2-3讀取JSON格式的數據158
8-3Python與資料庫161
8-3-1安裝Firefox的SQLiteManager附加組件162
8-3-2創建簡易資料庫164
8-3-3Python存取資料庫的方法167
8-4資料庫應用程式168
8-5習題173
第9章Python提取網站數據——基礎篇174
9-1網際網路程式設計基礎175
9-1-1網際網路與URL175
9-1-2解析網址178
9-1-3提取網頁數據182
9-1-4使用正則表達式提取網頁內的電子郵件賬號183
9-2網頁分析與套用186
9-2-1HTML網頁格式簡介186
9-2-2安裝BeautifulSoup190
9-2-3使用BeautifulSoup提取信息192
9-2-4進一步分析網頁的內容195
9-3網路應用程式198
9-3-1將數據存儲為檔案198
9-3-2以網頁的形式整理數據200
9-3-3在本地建立網頁套用203
9-4習題205
第10章Python網頁數據提取的實踐206
10-1把網頁數據存儲到資料庫中207
10-1-1網頁數據的運用模式207
10-1-2把數據存儲到SQLite208
10-1-3把數據導入到網路MySQL資料庫中213
10-1-4編寫本地程式讀取網路MySQL資料庫中的數據217
10-1-5使用PHP建立信息提供網站219
10-2自動提取數據221
10-2-1檢測網頁內容是否曾經更新222
10-2-2Windows自動化設定226
10-2-3MacOS自動化設定230
10-3通過Python操作瀏覽器230
10-3-1安裝Selenium231
10-3-2使用Selenium操作Firefox233
10-3-3通過Selenium讀取網頁信息235
10-3-4登錄會員網站的方法237
10-4習題240
第11章Firebase線上實時資料庫操作實踐241
11-1Firebase資料庫簡介242
11-1-1NoSQL資料庫概念242
11-1-2註冊Firebase賬號242
11-1-3連線Firebase和Python245
11-2Python存取Firebase資料庫的實例247
11-2-1Firebase網路資料庫的操作247
11-2-2使用Python寫入Firebase資料庫249
11-2-3使用Python讀取Firebase資料庫252
11-2-4整合範例254
11-3網頁連線Firebase資料庫258
11-3-1FirebaseHosting免費主機空間的設定258
11-3-2使用JavaScript讀取Firebase資料庫261
11-3-3Firebase網頁設計262
11-4Firebase資料庫的安全驗證265
11-4-1Firebase安全性的設定265
11-4-2Email/Password機制266
11-4-3Python端的設定268
11-4-4將具有用戶驗證功能的數據寫入程式269
11-5習題271
第12章Python套用實例272
12-1FacebookGraphAPI的介紹與使用273
12-1-1安裝facebook-sdk273
12-1-2FacebookGraph簡介273
12-1-3Python程式存取Facebook設定279
12-1-4通過Python“發表”文章281
12-1-5使用程式幫忙“點讚”283
12-1-6下載在Facebook中的照片283
12-2照片檔案的管理285
12-2-1照片檔案的分析285
12-2-2找出重複的照片檔案287
12-2-3將照片檔案重新編號290
12-3找出網路中最常被使用的中文詞291
12-3-1蒐集新聞文章291
12-3-2安裝中文分詞模組jieba292
12-3-3找出文章中最常被使用的辭彙292
12-4習題294
第13章Python繪圖與圖像處理295
13-1Matplotlib的安裝與使用296
13-1-1Matplotlib介紹296
13-1-2使用Matplotlib畫圖297
13-1-3統計圖的繪製300
13-1-4數學函式圖形的繪製306
13-2pillow的安裝與使用309
13-2-1pillow簡介310
13-2-2讀取圖像檔案的信息310
13-2-3簡易圖像檔案處理311
13-3批量處理圖像檔案314
13-3-1為自己的照片加上專屬標誌以及批量調整照片尺寸314
13-3-2中文字型的處理與套用316
13-3-3為圖像檔案加入水印功能319
13-4習題321
第14章用Python打造特色網站322
14-1使用Python編寫一個網站程式323
14-1-1網站原理323
14-1-2網站程式的輸入與輸出324
14-1-3使用Python編寫的網站框架325
14-2Django簡介328
14-2-1下載與安裝Django328
14-2-2Django目錄及重要配置檔案解說330
14-2-3前端與後端的搭配332
14-2-4建立你的第一個Django網站333
14-3認識DjangoFramework的架構334
14-3-1Django的MTV架構334
14-3-2URL的對應方法詳解335
14-3-3模板的使用336
14-3-4使用靜態資料夾存取檔案339
14-4Django與資料庫340
14-4-1在Django中使用資料庫341
14-4-2建立模型342
14-4-3admin後台管理343
14-4-4讀取資料庫中的數據345
14-4-5短網址轉址網站模板的內容347
14-5習題350
第15章程式設計所需要的基礎知識351
15-1網站的測試與調整352
15-1-1上線前的前置工作352
15-1-2網站的部署策略353
15-1-3網址的購買和選用353
15-2網站開發環境的部署354
15-2-1利用ngrok隨時連線你的網站354
15-2-2申請Cloud9IDE賬號356
15-2-3建立Cloud9開發環境357
15-2-4測試與執行Django網站361
15-3雲虛擬機部署方法365
15-3-1DigitalOcean簡介365
15-3-2創建Ubuntu虛擬機369
15-3-3安裝、設定Apache伺服器和DjangoFramework373
15-3-4上傳檔案和網站上線374
15-4習題378
第16章提升Python能力的下一步379
16-1程式代碼的版本控制380
16-1-1Git簡介380
16-1-2Git實踐操作382
16-1-3BitBucket的申請使用387
16-1-4整合BitBucket和Cloud9390
16-2雲APP主機的部署392
16-2-1Heroku簡介392
16-2-2創建Heroku賬號393
16-2-3整合Cloud9和Heroku395
16-2-4在Heroku上部署Django網站396
16-3提升學習的下一步402