定 價:59.8 元
叢書名:高等院校信息技術(shù)規(guī)劃教材
- 作者:董付國 著
- 出版時間:2020/6/1
- ISBN:9787302550839
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.561
- 頁碼:381
- 紙張:膠版紙
- 版次:3
- 開本:16開
《Python程序設(shè)計(第3版 微課版)》共18章,主要內(nèi)容如下:第1章介紹Python基礎(chǔ)知識與概念;第2章講解列表、元組、字典、集合等常用序列結(jié)構(gòu);第3章講解Python選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu);第4章講解字符串基本操作方法與正則表達式模塊re的用法;第5章講解函數(shù)設(shè)計與使用;第6章講解面向?qū)ο缶幊逃嘘P(guān)的知識;第7章講解文本文件與二進制文件的讀寫,以及文件與目錄操作,Office文件操作;第8章講解異常處理結(jié)構(gòu)以及Python程序的調(diào)試與測試方法;第9章講解標(biāo)準(zhǔn)庫tkinter的GUI應(yīng)用;第10章講解網(wǎng)絡(luò)編程,網(wǎng)頁內(nèi)容讀;第11章講解安卓平臺的Python程序設(shè)計;第12章講解注冊表編程以及系統(tǒng)運維編程;第13章講解多線程與多進程編程;第14章介紹SQLite、Access、MS SQL Server、MySQL訪問方法;第15章講解圖形圖像編程、音樂編程、視頻處理以及語音識別;第16章介紹逆向工程與軟件分析原理、IDAPython編程、Immunity Debugger以及Windows平臺軟件調(diào)試原理;第17章講解NumPy、SciPy、Matplotlib、pandas與statistics在科學(xué)計算和可視化、數(shù)據(jù)處理、統(tǒng)計與分析中的應(yīng)用;第18章講解安全哈希算法、對稱密鑰密碼算法DES與AES以及非對稱密鑰密碼算法RSA與DSA。
《Python程序設(shè)計(第3版 微課版)》既可以作為計算機及相關(guān)專業(yè)的教材,也可以作為Python愛好者的參考書。
前言
Python由Guido van Rossum于1989年底開始設(shè)計與開發(fā),第一個公開發(fā)行版本發(fā)行于1991年。Python推出不久就迅速得到了各行業(yè)人士的青睞,經(jīng)過30年的發(fā)展,Python已經(jīng)滲透到計算機科學(xué)與技術(shù)、統(tǒng)計分析、移動終端開發(fā)、科學(xué)計算可視化、逆向工程與軟件分析、圖形編程與圖像處理、人工智能、游戲設(shè)計與策劃、網(wǎng)站開發(fā)、數(shù)據(jù)采集、大數(shù)據(jù)處理、密碼學(xué)、系統(tǒng)運維、音樂編程、計算機輔助教育、醫(yī)藥輔助設(shè)計、天文信息處理、化學(xué)、生物等幾乎所有專業(yè)和領(lǐng)域。著名搜索引擎Google的核心代碼使用Python實現(xiàn),迪士尼公司的動畫制作與生成采用Python實現(xiàn),大部分UNIX和Linux都內(nèi)建了Python環(huán)境支持,豆瓣網(wǎng)使用Python作為主體開發(fā)語言進行網(wǎng)站架構(gòu)和有關(guān)應(yīng)用的設(shè)計與開發(fā),網(wǎng)易大量網(wǎng)絡(luò)游戲的服務(wù)器端代碼超過70%采用Python進行設(shè)計與開發(fā),易度的PaaA企業(yè)應(yīng)用云端開發(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就已經(jīng)成為卡內(nèi)基梅隆大學(xué)、麻省理工學(xué)院、加州大學(xué)伯克利分校、哈佛大學(xué)等國外很多大學(xué)計算機專業(yè)或非計算機專業(yè)的程序設(shè)計入門教學(xué)語言,目前國內(nèi)也有不少學(xué)校的多個專業(yè)陸續(xù)開設(shè)了Python程序設(shè)計課程。2011年1月Python語言被TIOBE網(wǎng)站評為2010年度語言;2014年12月IEEE Spectrum推出的編程語言排行榜中,Python取得了第5位的好名次;2017年和2018年連續(xù)兩年IEEE Spectrum把Python排在第一位;2019年7月TIOBE編程語言排行榜上Python躍居第3位,僅次于Java、C,已經(jīng)成為腳本語言的標(biāo)準(zhǔn)。
Python是一門免費、開源的跨平臺高級動態(tài)編程語言,支持命令式編程、函數(shù)式編程,完全支持面向?qū)ο蟪绦蛟O(shè)計,擁有大量功能強大的內(nèi)置對象、標(biāo)準(zhǔn)庫和擴展庫以及眾多狂熱的支持者,使得各領(lǐng)域的科研人員、策劃人員甚至管理人員能夠快速實現(xiàn)和驗證自己的思路與創(chuàng)意。在有些編程語言中需要編寫大量代碼才能實現(xiàn)的功能,在Python中直接調(diào)用內(nèi)置函數(shù)或標(biāo)準(zhǔn)庫方法即可實現(xiàn)。Python用戶只需要把主要精力放在業(yè)務(wù)邏輯的設(shè)計與實現(xiàn)上,在開發(fā)效率和運行效率之間達到了完美的平衡,其精妙之處令人贊嘆。
Python是一門快樂、優(yōu)雅的語言。與C語言系列和Java等語言相比,Python大幅度降低了學(xué)習(xí)與使用的難度。Python易學(xué)易用,語法簡潔清晰,代碼可讀性強,編程模式非常符合人類思維方式和習(xí)慣。經(jīng)常瀏覽Python社區(qū)的優(yōu)秀代碼、Python標(biāo)準(zhǔn)庫和擴展庫文檔甚至源代碼,適當(dāng)了解其內(nèi)部工作原理,可以幫助讀者編寫出更加優(yōu)雅的Python程序。
如果讀者有其他程序設(shè)計語言的基礎(chǔ),那么在學(xué)習(xí)和使用Python的過程中,一定不要把用其他語言編程的習(xí)慣和風(fēng)格帶到Python中來,那樣不僅會使得代碼變得非常冗長、煩瑣,還可能會嚴(yán)重影響代碼的效率。應(yīng)該盡量嘗試從最自然、最簡潔的角度出發(fā)去思考和解決問題,這樣才能寫出更加優(yōu)雅、更加Pythonic的代碼。
本書內(nèi)容組織
對于Python程序員來說,熟練運用優(yōu)秀、成熟的擴展庫可以快速實現(xiàn)業(yè)務(wù)邏輯和創(chuàng)意,而Python語言基礎(chǔ)知識和基本數(shù)據(jù)結(jié)構(gòu)的熟練掌握則是理解和運用其他擴展庫的必備條件,并且在實際開發(fā)中建議優(yōu)先使用Python內(nèi)置對象和標(biāo)準(zhǔn)庫對象實現(xiàn)預(yù)定功能。本書前8章使用大量篇幅介紹Python編程基礎(chǔ)知識,通過大量案例演示Python語言的精妙與強大。從第9章開始介紹大量標(biāo)準(zhǔn)庫和擴展庫在GUI編程、網(wǎng)絡(luò)編程、移動終端編程、Windows系統(tǒng)編程、多線程與多進程編程、數(shù)據(jù)庫編程、圖形圖像編程、逆向工程與軟件分析、科學(xué)計算可視化、密碼學(xué)編程等多個領(lǐng)域的應(yīng)用。全書共18章,主要內(nèi)容組織如下。
第1章基礎(chǔ)知識。介紹如何選擇Python版本,Python對象模型,數(shù)字、字符串等基本數(shù)據(jù)類型,運算符與表達式,內(nèi)置函數(shù),基本輸入輸出,Python程序文件名,Python代碼編寫規(guī)范等。
第2章Python序列。講解序列常用的方法和基本操作,成員測試運算符,切片操作,列表基本操作與常用方法,列表推導(dǎo)式,元組與生成器推導(dǎo)式,序列解包,字典、集合基本操作與常用方法,字典推導(dǎo)式與集合推導(dǎo)式,以及如何使用列表實現(xiàn)棧、隊列、二叉樹、有向圖等復(fù)雜數(shù)據(jù)結(jié)構(gòu)。
第3章選擇與循環(huán)。講解Python選擇結(jié)構(gòu)、for循環(huán)與while循環(huán),帶else子句的循環(huán)結(jié)構(gòu),break和continue語句,選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的綜合運用。
第4章字符串與正則表達式。講解字符串編碼格式,字符串格式化、替換、分隔、連接、查找、排版等基本操作,正則表達式語法、正則表達式對象、子模式與Match對象,以及Python正則表達式模塊re的應(yīng)用。
第5章函數(shù)設(shè)計與使用。講解函數(shù)的定義與使用,關(guān)鍵參數(shù)、默認值參數(shù)、長度可變參數(shù)等不同參數(shù)類型,全局變量與局部變量,參數(shù)傳遞時的序列解包,return語句,lambda表達式,以及函數(shù)式編程、生成器與可調(diào)用對象等若干高級話題。
第6章面向?qū)ο蟪绦蛟O(shè)計。講解類的定義與使用,self與cls參數(shù),類成員與實例成員,私有成員與公有成員,繼承與派生,特殊方法與運算符重載等內(nèi)容。
第7章文件操作。講解文件操作基本知識,Python文件對象,文本文件讀寫操作,二進制文件讀寫與對象序列化,文件復(fù)制、移動、重命名、文件類型檢測、文件完整性檢查、壓縮與解壓縮、文件夾大小統(tǒng)計、文件夾增量備份、刪除指定類型的文件和Office文件操作等內(nèi)容。
第8章異常處理結(jié)構(gòu)與程序調(diào)試、測試。講解Python異常類層次結(jié)構(gòu)與自定義異常類,多種不同形式的異常處理結(jié)構(gòu),使用IDLE和pdb模塊調(diào)試Python程序,Python單元測試相關(guān)知識。
第9章GUI編程。講解如何使用標(biāo)準(zhǔn)庫tkinter進行GUI編程,通過大量實際案例演示基本組件的用法。
第10章網(wǎng)絡(luò)程序設(shè)計。講解計算機網(wǎng)絡(luò)基礎(chǔ)知識,TCP、UDP編程,網(wǎng)頁內(nèi)容讀取與網(wǎng)頁爬蟲。
第11章安卓平臺的Python編程。介紹QPython和QPython3開發(fā)環(huán)境的應(yīng)用,講解安卓平臺的Python程序設(shè)計。
第12章Windows系統(tǒng)編程。講解注冊表編程、GUI編程、系統(tǒng)版本判斷,將Python程序打包為exe可執(zhí)行文件,在Python中調(diào)用外部程序,以及Python在系統(tǒng)運維中的應(yīng)用。
第13章多線程與多進程編程。講解Python標(biāo)準(zhǔn)庫threading和multiprocessing在多線程編程與多進程編程中的應(yīng)用,以及多線程與多進程之間的數(shù)據(jù)共享與同步控制。
第14章數(shù)據(jù)庫編程。介紹SQLite數(shù)據(jù)庫及其相關(guān)概念,Connection對象、Cursor對象、Row對象,以及使用Python擴展庫操作Access、MS SQL Server、MySQL等數(shù)據(jù)庫。
第15章多媒體編程。講解擴展庫PyOpenGL在計算機圖形學(xué)編程中的應(yīng)用,擴展庫pillow在圖像編程中的應(yīng)用,pygame、SciPy在音樂編程中的應(yīng)用,opencv在視頻處理中的應(yīng)用以及speech在語音識別中的應(yīng)用。
第16章逆向工程與軟件分析。介紹逆向工程與軟件分析的原理和相關(guān)插件,IDAPython與Immunity Debugger在軟件分析中的應(yīng)用,以及Windows平臺軟件調(diào)試原理。
第17章數(shù)據(jù)分析、科學(xué)計算與可視化。講解擴展庫NumPy、SciPy、Matplotlib在科學(xué)計算與可視化領(lǐng)域的應(yīng)用,以及擴展庫pandas與標(biāo)準(zhǔn)庫statistics在數(shù)據(jù)處理、統(tǒng)計與分析中的應(yīng)用。
第18章密碼學(xué)編程。以pycryptodome、rsa、hashlib等模塊為主講解安全哈希算法、對稱密鑰密碼算法DES與AES,以及非對稱密鑰密碼算法RSA與DSA的應(yīng)用。
本書信息量大,知識點緊湊,案例豐富,實用性強。全書100多個涉及不同行業(yè)領(lǐng)域的實用案例,沒有多余的文字、程序輸出結(jié)果或軟件安裝截圖,充分利用寶貴的篇幅來講解盡可能多的知識。本書作者具有20年程序設(shè)計教學(xué)經(jīng)驗,講授過匯編語言、C/C++/C#、Java、PHP、Python等多門程序設(shè)計語言,編寫過大量的應(yīng)用程序。本書內(nèi)容結(jié)合作者多年教學(xué)與開發(fā)過程中積累的許多經(jīng)驗和案例,并巧妙地糅進了相應(yīng)的章節(jié)。
本書對Python內(nèi)部工作原理進行了一定深度的剖析,95%以上的案例均使用Python 3.5、3.6和3.7實現(xiàn),代碼同樣適用于Python 3.8以及更高版本實現(xiàn)。書中適當(dāng)介紹了Python代碼優(yōu)化和安全編程的有關(guān)知識,可以滿足不同層次讀者的需要。
本書適用讀者
本書可以作為(但不限于):
(1) 計算機專業(yè)本科生Python程序設(shè)計教材或研究生必讀書目。本科生建議72學(xué)時以上,講授本書全部章節(jié)。
(2) 數(shù)字媒體技術(shù)、軟件工程、網(wǎng)絡(luò)工程、信息安全、通信工程、電子、自動化及其他工科專業(yè)本科生或研究生Python程序設(shè)計教材。建議64學(xué)時,講授前9章,再根據(jù)專業(yè)特點與需要在其他章節(jié)中選講3~5章。
(3) 會計、經(jīng)濟、金融、管理、心理學(xué)、統(tǒng)計以及其他非工科專業(yè)研究生或本科生Python程序設(shè)計教材。建議64學(xué)時,講授前8章中不帶星號的內(nèi)容,第9章的案例選講3~4個,再根據(jù)專業(yè)特點與需要在其他章節(jié)中選講2~3章,其余章節(jié)由學(xué)生根據(jù)興趣自學(xué)。
(4) 非計算機相關(guān)專業(yè)本科生公共基礎(chǔ)課Python程序設(shè)計教材。建議48學(xué)時并邊講邊練,講授前8章中不帶星號的章節(jié),再根據(jù)需要在其他章節(jié)中選講2~3章,其余章節(jié)可由學(xué)生根據(jù)興趣自學(xué)。
(5) ?圃盒;蚵殬I(yè)技術(shù)學(xué)院Python程序設(shè)計教材。建議96學(xué)時,講授前9章中不帶星號的內(nèi)容以及第10、13、14、17章。
(6) Python培訓(xùn)用書。建議時間為一周,講授前8章,再根據(jù)需要選講3~5章。
(7) 具有一定Python基礎(chǔ)的讀者進階首選學(xué)習(xí)資料。
(8) 涉及Python開發(fā)的程序員、策劃人員、科研人員和管理人員閱讀書目。
(9) 打算利用業(yè)余時間學(xué)習(xí)一門快樂的程序設(shè)計語言并編寫幾個小程序來娛樂的讀者首選學(xué)習(xí)資料。
(10) 少數(shù)對編程具有濃厚興趣和天賦的中學(xué)生課外閱讀資料。
教學(xué)資源
本書提供全套教學(xué)課件、源代碼、課后習(xí)題答案與分析、考試題庫以及教學(xué)大綱,配套資源可以登錄清華大學(xué)出版社官方網(wǎng)站(www.tup.com.cn)下載或與作者聯(lián)系索取,作者電子郵箱地址為dongfuguo2005@126.com,微信公眾號為“Python小屋”。
由于時間倉促,作者水平有限,書中難免存在紕漏,不足之處還請同行指正并通過作者聯(lián)系方式進行反饋與交流。作者將不定期在公眾號和微信發(fā)布和更新勘誤表,并通過QQ和微信答復(fù)讀者的疑問。
感謝
首先感謝父母的養(yǎng)育之恩,在當(dāng)年那么艱苦的條件下還堅決支持我讀書,沒有讓我像其他同齡的孩子一樣輟學(xué)。感謝姐姐、姐夫多年來對我的愛護以及在老家對父母的照顧,感謝善良的弟弟、弟媳在老家對父母的照顧,正是有了你們,我才能在遠離家鄉(xiāng)的城市安心工作。感謝我的妻子在生活中對我的大力支持,也感謝懂事的女兒在我工作的時候能夠在旁邊安靜地讀書而盡量不打擾我,在定稿前和媽媽一起幫我閱讀全書并檢查出了幾個錯別字。
感謝每一位讀者,感謝您在茫茫書海中選擇了本書,衷心祝愿您能夠從本書中受益,學(xué)到您需要的知識!同時也期待每一位讀者的熱心反饋,隨時歡迎您指出書中的不足!
本書在編寫出版過程中得到清華大學(xué)出版社的大力支持和幫助,在此表示衷心的感謝。
董付國定稿于山東煙臺
2020年4月
董付國,2000年參加工作,具有豐富的編程經(jīng)驗和17年的教學(xué)經(jīng)驗,講授過多種程序設(shè)計語言,多次指導(dǎo)學(xué)生參加各類競賽并取得了較好的名次,曾使用C、C++、C#、PHP、Python編寫過大量應(yīng)用程序。近10年來發(fā)表學(xué)術(shù)論文30余篇,超過20篇被EI檢索,多次參加高水平學(xué)術(shù)會議,先后出版《Python程序設(shè)計》、《Python程序設(shè)計基礎(chǔ)》、《Python程序設(shè)計(第2版)》、《Python可以這樣學(xué)》、《Python程序設(shè)計開發(fā)寶典》和《中學(xué)生可以這樣學(xué)Python》、《玩轉(zhuǎn)Python輕松過二級》、《Python程序設(shè)計實驗指導(dǎo)書》系列教材。
目錄
第1章基礎(chǔ)知識1
1.1如何選擇Python版本1
1.2Python安裝與簡單使用3
1.3使用pip管理Python擴展庫4
1.4Python基礎(chǔ)知識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常用內(nèi)置函數(shù)16
1.4.7基本輸入輸出20
1.4.8模塊導(dǎo)入與使用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
本章小結(jié)29
習(xí)題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用于序列操作的常用內(nèi)置函數(shù)42
2.1.9列表推導(dǎo)式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字典應(yīng)用案例51
2.4集合52
2.4.1集合的創(chuàng)建與刪除52
2.4.2集合運算53
2.4.3集合運用案例53
2.5再談內(nèi)置函數(shù)sorted()54
2.6復(fù)雜數(shù)據(jù)結(jié)構(gòu)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
本章小結(jié)64
習(xí)題65第3章選擇與循環(huán)67
3.1條件表達式67
3.2選擇結(jié)構(gòu)68
3.2.1單分支選擇結(jié)構(gòu)68
3.2.2雙分支選擇結(jié)構(gòu)68
3.2.3嵌套的選擇結(jié)構(gòu)69
3.2.4選擇結(jié)構(gòu)應(yīng)用案例70
3.3循環(huán)結(jié)構(gòu)72
3.3.1for循環(huán)與while循環(huán)72
3.3.2循環(huán)結(jié)構(gòu)的優(yōu)化73
3.4break和continue語句73
3.5案例精選74
本章小結(jié)80
習(xí)題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字符串應(yīng)用案例精選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正則表達式應(yīng)用案例精選108
本章小結(jié)113
習(xí)題114第5章函數(shù)設(shè)計與使用115
5.1函數(shù)定義與調(diào)用116
5.2形參與實參117
5.3參數(shù)類型118
5.3.1默認值參數(shù)118
5.3.2關(guān)鍵參數(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
本章小結(jié)136
習(xí)題137第6章面向?qū)ο蟪绦蛟O(shè)計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
本章小結(jié)156
習(xí)題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
本章小結(jié)180
習(xí)題180第8章異常處理結(jié)構(gòu)與程序調(diào)試、測試181
8.1基本概念181
8.2Python異常類與自定義異常182
8.3Python中的異常處理結(jié)構(gòu)185
8.3.1try…except…結(jié)構(gòu)185
8.3.2try…except…else…結(jié)構(gòu)186
8.3.3帶有多個except的try結(jié)構(gòu)186
8.3.4try…except…finally…結(jié)構(gòu)187
8.4斷言與上下文管理189
8.4.1斷言189
8.4.2上下文管理189
8.5使用IDLE調(diào)試代碼190
8.6使用pdb模塊調(diào)試程序191
8.6.1pdb模塊常用命令191
8.6.2使用pdb模塊調(diào)試Python程序192
8.7Python單元測試194
本章小結(jié)197
習(xí)題198第9章GUI編程199
9.1tkinter基礎(chǔ)199
9.1.1tkinter常用組件199
9.1.2tkinter應(yīng)用程序開發(fā)基本流程200
9.2tkinter應(yīng)用案例精選202
9.2.1用戶登錄界面202
9.2.2選擇類組件應(yīng)用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
本章小結(jié)229
習(xí)題229第10章網(wǎng)絡(luò)程序設(shè)計230
10.1計算機網(wǎng)絡(luò)基礎(chǔ)知識230
10.2UDP和TCP編程基礎(chǔ)231
10.2.1UDP編程232
10.2.2TCP編程233
10.3Socket編程案例精選236
10.3.1網(wǎng)絡(luò)嗅探器236
10.3.2多進程端口掃描器237
10.3.3查看本機所有聯(lián)網(wǎng)程序信息238
10.3.4查看局域網(wǎng)內(nèi)IP地址與MAC地址對應(yīng)關(guān)系239
10.3.5查看本機網(wǎng)絡(luò)流量239
10.3.6局域網(wǎng)內(nèi)服務(wù)器自動發(fā)現(xiàn)240
10.3.7多線程+Socket實現(xiàn)素數(shù)遠程查詢241
10.4網(wǎng)頁內(nèi)容讀取與網(wǎng)頁爬蟲242
10.4.1網(wǎng)頁內(nèi)容讀取與域名處理基礎(chǔ)知識242
10.4.2網(wǎng)頁爬蟲實戰(zhàn)244
本章小結(jié)246
習(xí)題247第11章安卓平臺的Python編程248
11.1QPython簡介248
11.2安卓應(yīng)用開發(fā)案例249
本章小結(jié)253
習(xí)題253第12章Windows系統(tǒng)編程254
12.1注冊表編程254
12.2創(chuàng)建可執(zhí)行文件257
12.3調(diào)用外部程序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
本章小結(jié)272
習(xí)題272第13章多線程與多進程編程273
13.1threading模塊273
13.2Thread對象274
13.2.1Thread對象中的方法274
13.2.2Thread對象中的daemon屬性275
13.3線程同步技術(shù)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標(biāo)準(zhǔn)庫subprocess290
本章小結(jié)292
習(xí)題293第14章數(shù)據(jù)庫編程294
14.1SQLite應(yīng)用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
本章小結(jié)304
習(xí)題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處理鍵盤/鼠標(biāo)事件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視頻處理和攝像頭接口調(diào)用324
15.5.1opencv應(yīng)用324
15.5.2moviepy應(yīng)用325
本章小結(jié)327
習(xí)題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平臺軟件調(diào)試原理340
16.3.1Windows調(diào)試接口340
16.3.2調(diào)試事件341
16.3.3進程調(diào)試342
16.3.4線程環(huán)境343
16.3.5斷點344
16.4案例精選345
本章小結(jié)347
習(xí)題348第17章數(shù)據(jù)分析、科學(xué)計算與可視化349
17.1NumPy簡單應(yīng)用349
17.2SciPy簡單應(yīng)用356
17.2.1常數(shù)與特殊函數(shù)357
17.2.2SciPy中值濾波358
17.2.3使用SciPy進行多項式計算與符號計算359
17.3Matplotlib案例精選360
17.3.1繪制帶有中文標(biāo)簽和圖例的正弦和余弦曲線360
17.3.2繪制散點圖360
17.3.3繪制餅狀圖361
17.3.4在圖例中顯示公式363
17.3.5多個圖形單獨顯示363
17.3.6繪制有描邊和填充效果的柱狀圖365
17.3.7使用雷達圖展示學(xué)生成績366
17.3.8繪制三維曲面366
17.3.9繪制三維曲線368
17.3.10設(shè)置圖例樣式369
17.4數(shù)據(jù)分析模塊pandas369
17.5統(tǒng)計分析模塊statistics373
本章小結(jié)375
習(xí)題375第18章密碼學(xué)編程377
18.1安全哈希算法377
18.2對稱密鑰密碼算法DES和AES377
18.3非對稱密鑰密碼算法RSA與數(shù)字簽名算法DSA379
18.3.1RSA379
18.3.2DSA381
本章小結(jié)381
習(xí)題381參考文獻382