目錄
第1章Python基礎1
1.1Python是一種什麼樣的語言1
1.2Python開發環境2
1.2.1百家爭鳴的繁榮景像2
1.2.2IDLE簡單使用6
1.3變量、運算符與表達式9
1.3.1Python變量與內置數據類型9
1.3.2常用內置函數15
1.3.3運算符與表達式21
1.3.4人機對話基本接口25
1.4模塊安裝與使用28
1.4.1安裝Python擴展庫28
1.4.2模塊導入與使用30
1.4.3編寫自己的模塊和包32
第2章Python序列35
2.1列表與列表推導式36
2.1.1列表創建與刪除36
2.1.2列表常用方法38
2.1.3列表推導式46
2.1.4切片50
組與生成器推導式54
2.組54
2.2.2生成器推導式55
2.3字典57
2.3.1字典素添加、修改與刪除57
2.3.2訪問字典對像的數據59
2.3.3案例精選61
2.4集合63[1]〖2〗Python可以這樣學[1]目錄〖2〗2.4.1集合基礎知識63
2.4.2集合操作與運算64
2.4.3案例精選67
2.5序列解包69
第3章程序控制結構與函數設計71
3.1選擇結構71
3.1.1條件表達式71
3.1.2選擇結構的幾種形式73
3.1.3案例精選79
3.2循環結構82
3.2.1for循環與while循環的基本語法82
3.2.2break與continue語句83
3.2.3循環代碼優化技巧84
3.2.4案例精選86
3.3函數設計與使用90
3.3.1基本語法91
3.3.2函數參數不得不說的幾件事94
3.3.3變量作用域99
3.3.4lambda表達式102
3.3.5案例精選104
第4章面向對像程序設計122
4.1基礎知識122
4.1.1類的定義與使用122
4.1.2私有成員與公有成員123
4.1.3數據成員125
4.1.4方法126
4.1.5屬性129
4.1.6繼承131
4.1.7特殊方法與運算符重載134
4.2案例精選135
4.2.1自定義數組135
4.2.2自定義矩陣141
4.2.3自定義隊列147
4.2.4自定義棧151
4.2.5自定義二叉樹154
4.2.6自定義有向圖157
4.2.7自定義集合158
第5章字符串與正則表達式165
5.1字符串165
5.1.1字符串格式化的兩種形式168
5.1.2字符串常用方法171
5.1.3案例精選186
5.2正則表達式190
5.2.1正則表達式語法與子模式擴展語法190
5.2.2re模塊方法與正則表達式對像193
5.2.3案例精選199
第6章文件與文件夾操作206
6.1文件對像常用方法與屬性207
6.2文本文件操作案例精選209
6.3二進制文件操作案例精選217
6.3.1使用pickle模塊讀寫二進制文件217
6.3.2使用struct模塊讀寫二進制文件219
6.3.3使用shelve模塊操作二進制文件220
6.3.4使用marshal模塊操作二進制文件220
6.4文件與文件夾操作221
6.4.1標準庫os、os.path與shutil簡介221
6.4.2案例精選227
第7章異常處理結構、代碼測試與調試252
7.1異常處理結構252
7.1.1異常是什麼252
7.1.2Python內置異常類層次結構254
7.1.3常見異常處理結構形式255
7.2代碼測試262
7.2.1doctest263
7.2測試264
7.3代碼調試270
7.3.1使用IDLE調試270
7.3.2使用pdb調試273
階段性寄語278
第8章數據庫應用開發279
8.1使用Python操作SQLite數據庫279
8.1.1Connection對像280
8.1.2Cursor對像281
8.1.3Row對像284
8.2使用Python操作其他關繫型數據庫285
8.2.1操作Access數據庫285
8.2.2操作MS SQL Server數據庫286
8.2.3操作MySQL數據庫288
8.3操作MongoDB數據庫290
第9章網絡應用開發293
9.1計算機網絡基礎知識293
9.2Socket編程295
9.2.1UDP編程296
9.2.2TCP編程298
9.2.3網絡嗅探器300
9.2.4多進程端口掃描器302
9.2.5代理服務器端口映射功能的實現305
9.2.6自己編寫FTP通信軟件308
9.3域名解析與網頁爬蟲313
9.3.1網頁內容讀取與域名分析313
9.3.2網頁爬蟲315
9.3.3scrapy框架316
9.3.4BeautifulSoup4318
9.4網站開發323
9.4.1使用IIS運行Python CGI程序323
9.4.2Python在ASP.NET中的應用325
9.4.3Flask框架簡單應用327
9.4.4django框架簡單應用328
第10章多線程與多進程333
10.1多線程編程334
10.1.1線程創建與管理336
10.1.2線程同步技術339
10.2多進程編程346
10.2.1進程創建與管理347
10.2.2進程間數據交換347
10.2.3進程同步技術350
第11章大數據處理351
11.1大數據簡介351
11.2MapReduce框架352
11.3Spark應用開發356
第12章圖形編程與圖像處理361
12.1圖形編程361
12.1.1繪制三維圖形361
12.1.2繪制三次貝塞爾曲線364
12.1.3紋理映射365
12.1.4響應鍵盤事件368
12.1.5光照模型369
12.2圖像處理372
12.2.1pillow模塊基本用法372
12.2.2計算橢圓中心375
12.2.3動態生成比例分配圖376
12.2.4生成驗證碼圖片377
12.2.5gif動態圖像分離與生成379
12.2.6材質貼圖380
12.2.7圖像融合381
12.2.8棋盤紋理生成383
第13章數據分析與科學計算可視化384
13.1擴展庫numpy簡介384
13.2科學計算擴展庫scipy393
13.2.1數學、物理常用常數與單位模塊constants394
13.2.2特殊函數模塊special395
13.2.3信號處理模塊signal395
13.2.4圖像處理模塊ndimage397
13.3擴展庫pandas簡介401
13.4統計分析標準庫statistics用法簡介405
13.5matplotlib407
13.5.1繪制正弦曲線408
13.5.2繪制散點圖408
13.5.3繪制餅狀圖410
13.5.4繪制帶有中文標簽和圖例的圖410
13.5.5繪制圖例標簽中帶有公式的圖411
13.5.6使用pyplot繪制,多個圖形單獨顯示412
13.5.7繪制三維參數曲線413
13.5.8繪制三維圖形414
13.5.9使用指令繪制自定義圖形416
13.5.10在tkinter中使用matplotlib417
13.5.11使用matplotlib提供的組件實現交互式圖形顯示419
13.5.12根據實時數據動態更新圖形421
13.5.13使用Slider組件調整曲線參數422
第14章密碼學編程425
14.1經典密碼算法425
14.1.1愷撒密碼算法425
14.1.2維吉尼亞密碼427
14.1.3換位密碼算法428
14.2安全哈希算法429
14.3對稱密鑰密碼算法DES和AES432
14.4非對稱密鑰密碼算法RSA與數字簽名算法DSA433
14.4.1RSA433
14.4.2DSA435
第15章tkinter編程精彩案例436
15.1用戶登錄界面436
15.2選擇類組件應用438
15.3簡單文本編輯器441
15.4簡單畫圖程序445
15.5電子時鐘449
15.6簡單動畫451
15.7多窗口編程454
15.8屏幕任意區域截圖456
15.9音樂播放器458
15.10遠程桌面監控繫統462
第16章課堂教學管理繫統設計與實現466
16.1功能簡介466
16.1.1教師端功能466
16.1.2學生端功能467
16.2數據庫設計468
16.3繫統總框架與通用功能設計469
16.4數據導入功能473
16.4.1學生名單導入473
16.4.2題庫導入473
16.5點名與加分功能475
16.5.1在線點名475
16.5.2離線點名與加分477
16.6隨機提問功能480
16.7在線收作業功能482
16.7.1學生端482
16.7.2教師端483
16.8在線自測與在線考試功能485
16.8.1學生端486
16.8.2教師端488
16.9信息查看功能490
16.10數據導出功能492
16.11其他輔助功能493
16.11.1防作弊功能493
16.11.2服務器自動發現功能493
16.11.3Word版試卷生成功能494
結束語496
附錄A本書中例題清單497
附錄B本書中插圖清單503
附錄C本書中表格清單507
附錄D本書中拓展知識摘要清單508
參考文獻513