《Python程序設計(第3版 微課版)》共18章,主要內容如下:第1章介紹Python基礎知識與概念;第2章講解列表、元組、字典、集合等常用序列結構;第3章講解Python選擇結構與循環(huán)結構;第4章講解字符串基本操作方法與正則表達式模塊re的用法;第5章講解函數(shù)設計與使用;第6章講解面向對象編程有關的知識;第7章講解文本文件與二進制文件的讀寫,以及文件與目錄操作,Office文件操作;第8章講解異常處理結構以及Python程序的調試與測試方法;第9章講解標準庫tkinter的GUI應用;第10章講解網絡編程,網頁內容讀取;第11章講解安卓平臺的Python程序設計;第12章講解注冊表編程以及系統(tǒng)運維編程;第13章講解多線程與多進程編程;第14章介紹SQLite、Access、MS SQL Server、MySQL訪問方法;第15章講解圖形圖像編程、音樂編程、視頻處理以及語音識別;第16章介紹逆向工程與軟件分析原理、IDAPython編程、Immunity Debugger以及Windows平臺軟件調試原理;第17章講解NumPy、SciPy、Matplotlib、pandas與statistics在科學計算和可視化、數(shù)據(jù)處理、統(tǒng)計與分析中的應用;第18章講解安全哈希算法、對稱密鑰密碼算法DES與AES以及非對稱密鑰密碼算法RSA與DSA。
《Python程序設計(第3版 微課版)》既可以作為計算機及相關專業(yè)的教材,也可以作為Python愛好者的參考書。
前言
Python由Guido van Rossum于1989年底開始設計與開發(fā),第一個公開發(fā)行版本發(fā)行于1991年。Python推出不久就迅速得到了各行業(yè)人士的青睞,經過30年的發(fā)展,Python已經滲透到計算機科學與技術、統(tǒng)計分析、移動終端開發(fā)、科學計算可視化、逆向工程與軟件分析、圖形編程與圖像處理、人工智能、游戲設計與策劃、網站開發(fā)、數(shù)據(jù)采集、大數(shù)據(jù)處理、密碼學、系統(tǒng)運維、音樂編程、計算機輔助教育、醫(yī)藥輔助設計、天文信息處理、化學、生物等幾乎所有專業(yè)和領域。著名搜索引擎Google的核心代碼使用Python實現(xiàn),迪士尼公司的動畫制作與生成采用Python實現(xiàn),大部分UNIX和Linux都內建了Python環(huán)境支持,豆瓣網使用Python作為主體開發(fā)語言進行網站架構和有關應用的設計與開發(fā),網易大量網絡游戲的服務器端代碼超過70%采用Python進行設計與開發(fā),易度的PaaA企業(yè)應用云端開發(fā)平臺和百度云計算平臺BAE也都大量采用了Python語言,美國宇航局使用Python實現(xiàn)了CAD/CAE/PDM庫及模型管理系統(tǒng),雅虎公司使用Python建立全球范圍的站點群,微軟公司的集成開發(fā)環(huán)境Visual Studio 2015開始默認支持Python語言,開源ERP系統(tǒng)Odoo完全采用Python語言開發(fā),引力波數(shù)據(jù)是用Python進行處理和分析的,類似的案例數(shù)不勝數(shù)。
早在多年前Python就已經成為卡內基梅隆大學、麻省理工學院、加州大學伯克利分校、哈佛大學等國外很多大學計算機專業(yè)或非計算機專業(yè)的程序設計入門教學語言,目前國內也有不少學校的多個專業(yè)陸續(xù)開設了Python程序設計課程。2011年1月Python語言被TIOBE網站評為2010年度語言;2014年12月IEEE Spectrum推出的編程語言排行榜中,Python取得了第5位的好名次;2017年和2018年連續(xù)兩年IEEE Spectrum把Python排在第一位;2019年7月TIOBE編程語言排行榜上Python躍居第3位,僅次于Java、C,已經成為腳本語言的標準。
Python是一門免費、開源的跨平臺高級動態(tài)編程語言,支持命令式編程、函數(shù)式編程,完全支持面向對象程序設計,擁有大量功能強大的內置對象、標準庫和擴展庫以及眾多狂熱的支持者,使得各領域的科研人員、策劃人員甚至管理人員能夠快速實現(xiàn)和驗證自己的思路與創(chuàng)意。在有些編程語言中需要編寫大量代碼才能實現(xiàn)的功能,在Python中直接調用內置函數(shù)或標準庫方法即可實現(xiàn)。Python用戶只需要把主要精力放在業(yè)務邏輯的設計與實現(xiàn)上,在開發(fā)效率和運行效率之間達到了完美的平衡,其精妙之處令人贊嘆。
Python是一門快樂、優(yōu)雅的語言。與C語言系列和Java等語言相比,Python大幅度降低了學習與使用的難度。Python易學易用,語法簡潔清晰,代碼可讀性強,編程模式非常符合人類思維方式和習慣。經常瀏覽Python社區(qū)的優(yōu)秀代碼、Python標準庫和擴展庫文檔甚至源代碼,適當了解其內部工作原理,可以幫助讀者編寫出更加優(yōu)雅的Python程序。
如果讀者有其他程序設計語言的基礎,那么在學習和使用Python的過程中,一定不要把用其他語言編程的習慣和風格帶到Python中來,那樣不僅會使得代碼變得非常冗長、煩瑣,還可能會嚴重影響代碼的效率。應該盡量嘗試從最自然、最簡潔的角度出發(fā)去思考和解決問題,這樣才能寫出更加優(yōu)雅、更加Pythonic的代碼。
本書內容組織
對于Python程序員來說,熟練運用優(yōu)秀、成熟的擴展庫可以快速實現(xiàn)業(yè)務邏輯和創(chuàng)意,而Python語言基礎知識和基本數(shù)據(jù)結構的熟練掌握則是理解和運用其他擴展庫的必備條件,并且在實際開發(fā)中建議優(yōu)先使用Python內置對象和標準庫對象實現(xiàn)預定功能。本書前8章使用大量篇幅介紹Python編程基礎知識,通過大量案例演示Python語言的精妙與強大。從第9章開始介紹大量標準庫和擴展庫在GUI編程、網絡編程、移動終端編程、Windows系統(tǒng)編程、多線程與多進程編程、數(shù)據(jù)庫編程、圖形圖像編程、逆向工程與軟件分析、科學計算可視化、密碼學編程等多個領域的應用。全書共18章,主要內容組織如下。
第1章基礎知識。介紹如何選擇Python版本,Python對象模型,數(shù)字、字符串等基本數(shù)據(jù)類型,運算符與表達式,內置函數(shù),基本輸入輸出,Python程序文件名,Python代碼編寫規(guī)范等。
第2章Python序列。講解序列常用的方法和基本操作,成員測試運算符,切片操作,列表基本操作與常用方法,列表推導式,元組與生成器推導式,序列解包,字典、集合基本操作與常用方法,字典推導式與集合推導式,以及如何使用列表實現(xiàn)棧、隊列、二叉樹、有向圖等復雜數(shù)據(jù)結構。
第3章選擇與循環(huán)。講解Python選擇結構、for循環(huán)與while循環(huán),帶else子句的循環(huán)結構,break和continue語句,選擇結構與循環(huán)結構的綜合運用。
第4章字符串與正則表達式。講解字符串編碼格式,字符串格式化、替換、分隔、連接、查找、排版等基本操作,正則表達式語法、正則表達式對象、子模式與Match對象,以及Python正則表達式模塊re的應用。
第5章函數(shù)設計與使用。講解函數(shù)的定義與使用,關鍵參數(shù)、默認值參數(shù)、長度可變參數(shù)等不同參數(shù)類型,全局變量與局部變量,參數(shù)傳遞時的序列解包,return語句,lambda表達式,以及函數(shù)式編程、生成器與可調用對象等若干高級話題。
第6章面向對象程序設計。講解類的定義與使用,self與cls參數(shù),類成員與實例成員,私有成員與公有成員,繼承與派生,特殊方法與運算符重載等內容。
第7章文件操作。講解文件操作基本知識,Python文件對象,文本文件讀寫操作,二進制文件讀寫與對象序列化,文件復制、移動、重命名、文件類型檢測、文件完整性檢查、壓縮與解壓縮、文件夾大小統(tǒng)計、文件夾增量備份、刪除指定類型的文件和Office文件操作等內容。
第8章異常處理結構與程序調試、測試。講解Python異常類層次結構與自定義異常類,多種不同形式的異常處理結構,使用IDLE和pdb模塊調試Python程序,Python單元測試相關知識。
第9章GUI編程。講解如何使用標準庫tkinter進行GUI編程,通過大量實際案例演示基本組件的用法。
第10章網絡程序設計。講解計算機網絡基礎知識,TCP、UDP編程,網頁內容讀取與網頁爬蟲。
第11章安卓平臺的Python編程。介紹QPython和QPython3開發(fā)環(huán)境的應用,講解安卓平臺的Python程序設計。
第12章Windows系統(tǒng)編程。講解注冊表編程、GUI編程、系統(tǒng)版本判斷,將Python程序打包為exe可執(zhí)行文件,在Python中調用外部程序,以及Python在系統(tǒng)運維中的應用。
第13章多線程與多進程編程。講解Python標準庫threading和multiprocessing在多線程編程與多進程編程中的應用,以及多線程與多進程之間的數(shù)據(jù)共享與同步控制。
第14章數(shù)據(jù)庫編程。介紹SQLite數(shù)據(jù)庫及其相關概念,Connection對象、Cursor對象、Row對象,以及使用Python擴展庫操作Access、MS SQL Server、MySQL等數(shù)據(jù)庫。
第15章多媒體編程。講解擴展庫PyOpenGL在計算機圖形學編程中的應用,擴展庫pillow在圖像編程中的應用,pygame、SciPy在音樂編程中的應用,opencv在視頻處理中的應用以及speech在語音識別中的應用。
第16章逆向工程與軟件分析。介紹逆向工程與軟件分析的原理和相關插件,IDAPython與Immunity Debugger在軟件分析中的應用,以及Windows平臺軟件調試原理。
第17章數(shù)據(jù)分析、科學計算與可視化。講解擴展庫NumPy、SciPy、Matplotlib在科學計算與可視化領域的應用,以及擴展庫pandas與標準庫statistics在數(shù)據(jù)處理、統(tǒng)計與分析中的應用。
第18章密碼學編程。以pycryptodome、rsa、hashlib等模塊為主講解安全哈希算法、對稱密鑰密碼算法DES與AES,以及非對稱密鑰密碼算法RSA與DSA的應用。
本書信息量大,知識點緊湊,案例豐富,實用性強。全書100多個涉及不同行業(yè)領域的實用案例,沒有多余的文字、程序輸出結果或軟件安裝截圖,充分利用寶貴的篇幅來講解盡可能多的知識。本書作者具有20年程序設計教學經驗,講授過匯編語言、C/C++/C#、Java、PHP、Python等多門程序設計語言,編寫過大量的應用程序。本書內容結合作者多年教學與開發(fā)過程中積累的許多經驗和案例,并巧妙地糅進了相應的章節(jié)。
本書對Python內部工作原理進行了一定深度的剖析,95%以上的案例均使用Python 3.5、3.6和3.7實現(xiàn),代碼同樣適用于Python 3.8以及更高版本實現(xiàn)。書中適當介紹了Python代碼優(yōu)化和安全編程的有關知識,可以滿足不同層次讀者的需要。
本書適用讀者
本書可以作為(但不限于):
(1) 計算機專業(yè)本科生Python程序設計教材或研究生必讀書目。本科生建議72學時以上,講授本書全部章節(jié)。
(2) 數(shù)字媒體技術、軟件工程、網絡工程、信息安全、通信工程、電子、自動化及其他工科專業(yè)本科生或研究生Python程序設計教材。建議64學時,講授前9章,再根據(jù)專業(yè)特點與需要在其他章節(jié)中選講3~5章。
(3) 會計、經濟、金融、管理、心理學、統(tǒng)計以及其他非工科專業(yè)研究生或本科生Python程序設計教材。建議64學時,講授前8章中不帶星號的內容,第9章的案例選講3~4個,再根據(jù)專業(yè)特點與需要在其他章節(jié)中選講2~3章,其余章節(jié)由學生根據(jù)興趣自學。
(4) 非計算機相關專業(yè)本科生公共基礎課Python程序設計教材。建議48學時并邊講邊練,講授前8章中不帶星號的章節(jié),再根據(jù)需要在其他章節(jié)中選講2~3章,其余章節(jié)可由學生根據(jù)興趣自學。
(5) ?圃盒;蚵殬I(yè)技術學院Python程序設計教材。建議96學時,講授前9章中不帶星號的內容以及第10、13、14、17章。
(6) Python培訓用書。建議時間為一周,講授前8章,再根據(jù)需要選講3~5章。
(7) 具有一定Python基礎的讀者進階首選學習資料。
(8) 涉及Python開發(fā)的程序員、策劃人員、科研人員和管理人員閱讀書目。
(9) 打算利用業(yè)余時間學習一門快樂的程序設計語言并編寫幾個小程序來娛樂的讀者首選學習資料。
(10) 少數(shù)對編程具有濃厚興趣和天賦的中學生課外閱讀資料。
教學資源
本書提供全套教學課件、源代碼、課后習題答案與分析、考試題庫以及教學大綱,配套資源可以登錄清華大學出版社官方網站(www.tup.com.cn)下載或與作者聯(lián)系索取,作者電子郵箱地址為dongfuguo2005@126.com,微信公眾號為“Python小屋”。
由于時間倉促,作者水平有限,書中難免存在紕漏,不足之處還請同行指正并通過作者聯(lián)系方式進行反饋與交流。作者將不定期在公眾號和微信發(fā)布和更新勘誤表,并通過QQ和微信答復讀者的疑問。
感謝
首先感謝父母的養(yǎng)育之恩,在當年那么艱苦的條件下還堅決支持我讀書,沒有讓我像其他同齡的孩子一樣輟學。感謝姐姐、姐夫多年來對我的愛護以及在老家對父母的照顧,感謝善良的弟弟、弟媳在老家對父母的照顧,正是有了你們,我才能在遠離家鄉(xiāng)的城市安心工作。感謝我的妻子在生活中對我的大力支持,也感謝懂事的女兒在我工作的時候能夠在旁邊安靜地讀書而盡量不打擾我,在定稿前和媽媽一起幫我閱讀全書并檢查出了幾個錯別字。
感謝每一位讀者,感謝您在茫茫書海中選擇了本書,衷心祝愿您能夠從本書中受益,學到您需要的知識!同時也期待每一位讀者的熱心反饋,隨時歡迎您指出書中的不足!
本書在編寫出版過程中得到清華大學出版社的大力支持和幫助,在此表示衷心的感謝。
董付國定稿于山東煙臺
2020年4月
董付國,2000年參加工作,具有豐富的編程經驗和17年的教學經驗,講授過多種程序設計語言,多次指導學生參加各類競賽并取得了較好的名次,曾使用C、C++、C#、PHP、Python編寫過大量應用程序。近10年來發(fā)表學術論文30余篇,超過20篇被EI檢索,多次參加高水平學術會議,先后出版《Python程序設計》、《Python程序設計基礎》、《Python程序設計(第2版)》、《Python可以這樣學》、《Python程序設計開發(fā)寶典》和《中學生可以這樣學Python》、《玩轉Python輕松過二級》、《Python程序設計實驗指導書》系列教材。
目錄
第1章基礎知識1
1.1如何選擇Python版本1
1.2Python安裝與簡單使用3
1.3使用pip管理Python擴展庫4
1.4Python基礎知識5
1.4.1Python對象模型5
1.4.2Python變量6
1.4.3數(shù)字9
1.4.4字符串11
1.4.5運算符與表達式11
1.4.6常用內置函數(shù)16
1.4.7基本輸入輸出20
1.4.8模塊導入與使用21
1.5Python代碼編寫規(guī)范22
1.6Python文件名24
1.7Python腳本的__name__屬性24
1.8編寫自己的包25
1.9Python程序偽編譯與打包26
1.10Python編程快速入門27
1.11The Zen of Python29
本章小結29
習題30第2章Python序列31
2.1列表31
2.1.1列表創(chuàng)建與刪除32
2.1.2列表元素的增加32
2.1.3列表元素的刪除34
2.1.4列表元素訪問與計數(shù)37
2.1.5成員資格判斷38
2.1.6切片操作38
2.1.7列表排序與逆序41
2.1.8用于序列操作的常用內置函數(shù)42
2.1.9列表推導式43
2.1.10使用列表實現(xiàn)向量運算45
2.2元組46
2.2.1元組的創(chuàng)建與刪除46
2.2.2元組與列表的區(qū)別46
2.2.3序列解包47
2.2.4生成器表達式48
2.3字典49
2.3.1字典創(chuàng)建與刪除49
2.3.2字典元素的讀取50
2.3.3字典元素的添加與修改51
2.3.4字典應用案例51
2.4集合52
2.4.1集合的創(chuàng)建與刪除52
2.4.2集合運算53
2.4.3集合運用案例53
2.5再談內置函數(shù)sorted()54
2.6復雜數(shù)據(jù)結構56
2.6.1堆56
2.6.2隊列57
2.6.3棧59
2.6.4鏈表61
2.6.5二叉樹62
2.6.6有向圖63
本章小結64
習題65第3章選擇與循環(huán)67
3.1條件表達式67
3.2選擇結構68
3.2.1單分支選擇結構68
3.2.2雙分支選擇結構68
3.2.3嵌套的選擇結構69
3.2.4選擇結構應用案例70
3.3循環(huán)結構72
3.3.1for循環(huán)與while循環(huán)72
3.3.2循環(huán)結構的優(yōu)化73
3.4break和continue語句73
3.5案例精選74
本章小結80
習題81第4章字符串與正則表達式83
4.1字符串83
4.1.1字符串格式化83
4.1.2字符串常用方法86
4.1.3字符串常量92
4.1.4可變字符串93
4.1.5中文分詞與拼音處理94
4.1.6字符串應用案例精選95
4.2正則表達式97
4.2.1正則表達式語法97
4.2.2re模塊主要函數(shù)100
4.2.3直接使用re模塊函數(shù)100
4.2.4使用正則表達式對象103
4.2.5子模式與Match對象105
4.2.6正則表達式應用案例精選108
本章小結113
習題114第5章函數(shù)設計與使用115
5.1函數(shù)定義與調用116
5.2形參與實參117
5.3參數(shù)類型118
5.3.1默認值參數(shù)118
5.3.2關鍵參數(shù)120
5.3.3可變長度參數(shù)120
5.3.4參數(shù)傳遞時的序列解包121
5.4return語句122
5.5變量作用域122
5.6lambda表達式124
5.7案例精選126
5.8高級話題132
本章小結136
習題137第6章面向對象程序設計138
6.1類的定義與使用138
6.1.1類定義語法138
6.1.2self參數(shù)139
6.1.3類成員與實例成員139
6.1.4私有成員與公有成員140
6.2方法141
6.3屬性142
6.4特殊方法與運算符重載144
6.4.1常用特殊方法144
6.4.2案例精選146
6.5繼承機制153
本章小結156
習題156第7章文件操作158
7.1文件對象158
7.2文本文件操作案例精選159
7.3二進制文件操作案例精選161
7.3.1使用pickle模塊162
7.3.2使用struct模塊162
7.4文件級操作163
7.4.1os與os.path模塊163
7.4.2shutil模塊164
7.5目錄操作165
7.6案例精選167
本章小結180
習題180第8章異常處理結構與程序調試、測試181
8.1基本概念181
8.2Python異常類與自定義異常182
8.3Python中的異常處理結構185
8.3.1try…except…結構185
8.3.2try…except…else…結構186
8.3.3帶有多個except的try結構186
8.3.4try…except…finally…結構187
8.4斷言與上下文管理189
8.4.1斷言189
8.4.2上下文管理189
8.5使用IDLE調試代碼190
8.6使用pdb模塊調試程序191
8.6.1pdb模塊常用命令191
8.6.2使用pdb模塊調試Python程序192
8.7Python單元測試194
本章小結197
習題198第9章GUI編程199
9.1tkinter基礎199
9.1.1tkinter常用組件199
9.1.2tkinter應用程序開發(fā)基本流程200
9.2tkinter應用案例精選202
9.2.1用戶登錄界面202
9.2.2選擇類組件應用204
9.2.3簡單文本編輯器206
9.2.4簡單畫圖程序210
9.2.5電子時鐘214
9.2.6簡易計算器216
9.2.7桌面放大鏡219
9.2.8抽獎程序220
9.2.9編寫猜數(shù)游戲222
9.2.10圖片查看器程序226
本章小結229
習題229第10章網絡程序設計230
10.1計算機網絡基礎知識230
10.2UDP和TCP編程基礎231
10.2.1UDP編程232
10.2.2TCP編程233
10.3Socket編程案例精選236
10.3.1網絡嗅探器236
10.3.2多進程端口掃描器237
10.3.3查看本機所有聯(lián)網程序信息238
10.3.4查看局域網內IP地址與MAC地址對應關系239
10.3.5查看本機網絡流量239
10.3.6局域網內服務器自動發(fā)現(xiàn)240
10.3.7多線程+Socket實現(xiàn)素數(shù)遠程查詢241
10.4網頁內容讀取與網頁爬蟲242
10.4.1網頁內容讀取與域名處理基礎知識242
10.4.2網頁爬蟲實戰(zhàn)244
本章小結246
習題247第11章安卓平臺的Python編程248
11.1QPython簡介248
11.2安卓應用開發(fā)案例249
本章小結253
習題253第12章Windows系統(tǒng)編程254
12.1注冊表編程254
12.2創(chuàng)建可執(zhí)行文件257
12.3調用外部程序258
12.4創(chuàng)建窗口262
12.5判斷操作系統(tǒng)的版本265
12.6系統(tǒng)運維266
12.6.1Python擴展庫psutil266
12.6.2使用pywin32實現(xiàn)事件查看器268
12.6.3切換用戶登錄身份270
本章小結272
習題272第13章多線程與多進程編程273
13.1threading模塊273
13.2Thread對象274
13.2.1Thread對象中的方法274
13.2.2Thread對象中的daemon屬性275
13.3線程同步技術277
13.3.1Lock/RLock對象277
13.3.2Condition對象279
13.3.3queue對象281
13.3.4Event對象282
13.3.5Semaphore與BoundedSemaphore283
13.3.6Barrier對象284
13.4多進程編程285
13.4.1創(chuàng)建與啟動進程285
13.4.2進程間數(shù)據(jù)交換287
13.4.3進程同步290
13.4.4標準庫subprocess290
本章小結292
習題293第14章數(shù)據(jù)庫編程294
14.1SQLite應用294
14.1.1Connection對象295
14.1.2Cursor對象295
14.1.3Row對象298
14.2訪問其他類型數(shù)據(jù)庫300
14.2.1操作Access數(shù)據(jù)庫301
14.2.2操作MS SQL Server數(shù)據(jù)庫302
14.2.3操作MySQL數(shù)據(jù)庫303
本章小結304
習題305第15章多媒體編程306
15.1圖形編程306
15.1.1創(chuàng)建圖形編程框架306
15.1.2繪制文字307
15.1.3繪制圖形308
15.1.4紋理映射309
15.1.5處理鍵盤/鼠標事件311
15.2圖像編程311
15.2.1圖像處理模塊pillow功能簡介311
15.2.2使用pillow計算橢圓中心313
15.2.3使用pillow動態(tài)生成比例分配圖314
15.2.4使用pillow生成驗證碼圖片315
15.3音樂編程317
15.3.1音樂播放317
15.3.2wav波形音樂文件處理319
15.4語音識別321
15.5視頻處理和攝像頭接口調用324
15.5.1opencv應用324
15.5.2moviepy應用325
本章小結327
習題327第16章逆向工程與軟件分析328
16.1主流項目與插件簡介328
16.1.1主流項目329
16.1.2常用插件329
16.2IDAPython與Immunity Debugger編程330
16.2.1IDAPython編程330
16.2.2Immunity Debugger編程335
16.3Windows平臺軟件調試原理340
16.3.1Windows調試接口340
16.3.2調試事件341
16.3.3進程調試342
16.3.4線程環(huán)境343
16.3.5斷點344
16.4案例精選345
本章小結347
習題348第17章數(shù)據(jù)分析、科學計算與可視化349
17.1NumPy簡單應用349
17.2SciPy簡單應用356
17.2.1常數(shù)與特殊函數(shù)357
17.2.2SciPy中值濾波358
17.2.3使用SciPy進行多項式計算與符號計算359
17.3Matplotlib案例精選360
17.3.1繪制帶有中文標簽和圖例的正弦和余弦曲線360
17.3.2繪制散點圖360
17.3.3繪制餅狀圖361
17.3.4在圖例中顯示公式363
17.3.5多個圖形單獨顯示363
17.3.6繪制有描邊和填充效果的柱狀圖365
17.3.7使用雷達圖展示學生成績366
17.3.8繪制三維曲面366
17.3.9繪制三維曲線368
17.3.10設置圖例樣式369
17.4數(shù)據(jù)分析模塊pandas369
17.5統(tǒng)計分析模塊statistics373
本章小結375
習題375第18章密碼學編程377
18.1安全哈希算法377
18.2對稱密鑰密碼算法DES和AES377
18.3非對稱密鑰密碼算法RSA與數(shù)字簽名算法DSA379
18.3.1RSA379
18.3.2DSA381
本章小結381
習題381參考文獻382