全書共13章:第1章介紹Python基本知識與概念,Python開發(fā)環(huán)境配置與使用,擴展庫安裝與使用;第2章講解Python運算符與表達(dá)式以及內(nèi)置函數(shù)的用法;第3章講解列表、元組、字典、集合等序列結(jié)構(gòu)的常用方法和基本操作;第4章講解Python選擇結(jié)構(gòu)與循環(huán)結(jié)構(gòu)的語法和應(yīng)用;第5章講解函數(shù)的定義與使用,不同類型的函數(shù)參數(shù),變量的作用域以及l(fā)ambda表達(dá)式;第6章講解類的定義與實例化,多種不同類型的成員方法,特殊方法與運算符重載;第7章講解字符串對象及其方法的應(yīng)用;第8章講解正則表達(dá)式語法以及正則表達(dá)式在Python中的應(yīng)用;第9章講解文件操作的基本知識與Python文件對象,文本文件內(nèi)容讀寫,二進(jìn)制文件操作與對象序列化;第10章講解文件復(fù)制、移動、重命名、遍歷等文件級操作以及目錄操作有關(guān)知識;第11章講解Python中多種不同形式的異常處理結(jié)構(gòu);第12章講解Python對SQLite以及Access、MS SQL Server、MySQL等不同數(shù)據(jù)庫的操作;第13章講解數(shù)據(jù)分析、數(shù)據(jù)處理、數(shù)據(jù)可視化以及科學(xué)計算的有關(guān)知識。
本書完全面向Python 3.x,全部案例代碼使用Python 3.5.x和Python 3.6.x編寫,大部分內(nèi)容也同樣適用于Python 3.4.x。本書對Python內(nèi)部工作原理進(jìn)行一定程度的剖析,并適當(dāng)介紹了Python代碼優(yōu)化和安全編程的有關(guān)知識,可以滿足不同層次讀者的需求。
案例豐富、注釋量大、實用性強。書中幾乎每段代碼都配有大量注釋,讀者能夠在*短時間內(nèi)理解代碼的思路和要點,大幅度縮短閱讀和學(xué)習(xí)時間,由淺入深,層層遞進(jìn),平滑學(xué)習(xí)曲線。
Python由Guido van Rossum于1989年底開始研制,第一個版本發(fā)行于1991年。Python推出不久就迅速得到了各行業(yè)人士的青睞,經(jīng)過近30年的發(fā)展,已經(jīng)滲透到計算機科學(xué)與技術(shù)、統(tǒng)計分析、逆向工程與軟件分析、電子取證、圖形圖像處理、人工智能、游戲設(shè)計與策劃、網(wǎng)站開發(fā)、移動終端開發(fā)、大數(shù)據(jù)分析與處理、深度學(xué)習(xí)、科學(xué)計算可視化、云計算、網(wǎng)絡(luò)爬蟲開發(fā)、系統(tǒng)運維、自然語言處理、密碼學(xué)、電子電路設(shè)計、樹莓派開發(fā)等專業(yè)和領(lǐng)域。目前,Python已經(jīng)成為卡耐基梅隆大學(xué)、麻省理工學(xué)院、加州大學(xué)伯克利分校、哈佛大學(xué)等國外很多大學(xué)計算機專業(yè)或非計算機專業(yè)的程序設(shè)計入門教學(xué)語言,國內(nèi)也有不少學(xué)校的多個專業(yè)陸續(xù)開設(shè)了Python程序設(shè)計課程。
Python連續(xù)多年在TIOBE網(wǎng)站的編程語言排行榜上排名前十位,并于2011年1月被TIOBE網(wǎng)站評為2010年度語言。自2015年之后,Python一直穩(wěn)居TIOBE編程語言排行榜前五位。在2014年12月份IEEE Spectrum推出的編程語言排行榜中,Python排第5位,而在2017年7月份IEEE Spectrum推出的編程語言排行榜中,Python上升到了第1位。
Python是一門免費、開源的跨平臺高級動態(tài)編程語言,支持命令式編程、函數(shù)式編程,完全支持面向?qū)ο蟪绦蛟O(shè)計,語法簡潔清晰,并且擁有大量功能強大的標(biāo)準(zhǔn)庫和擴展庫以及眾多狂熱的支持者,可以幫助各領(lǐng)域的科研人員或策劃師甚至管理人員快速實現(xiàn)和驗證自己的思路與創(chuàng)意。Python用戶可以把主要精力放在業(yè)務(wù)邏輯的設(shè)計與實現(xiàn)上,而不用過多考慮語言本身的細(xì)節(jié),開發(fā)效率非常高,其精妙之處令人擊節(jié)嘆賞。
Python是一門快樂的語言,學(xué)習(xí)和使用Python也是一個快樂的過程。與C語言系列和Java等語言相比,Python更加容易學(xué)習(xí)和使用,但這并不意味著可以非常輕松愉快地掌握Python。用戶熟練掌握和運用Python仍需要通過大量的練習(xí)來鍛煉自己的思維和熟悉Python編程模式,同時還需要經(jīng)常關(guān)注Python社區(qū)優(yōu)秀的代碼以及各種擴展庫的最新動態(tài)。當(dāng)然,如果能夠適當(dāng)了解Python標(biāo)準(zhǔn)庫以及擴展庫的內(nèi)部工作原理,對于編寫正確而優(yōu)雅的Python程序無疑是有很大幫助的。
Python是一門優(yōu)雅的語言。Python語法簡潔清晰,并且提供了大量的內(nèi)置對象和內(nèi)置函數(shù),編程模式非常符合人類的思維方式和習(xí)慣。在有些編程語言中需要編寫大量代碼才能實現(xiàn)的功能,在Python中僅需要調(diào)用內(nèi)置函數(shù)或內(nèi)置對象的方法即可實現(xiàn)。如果讀者已有其他程序設(shè)計語言的基礎(chǔ),那么在學(xué)習(xí)和使用Python時,一定不要把其他語言的編程習(xí)慣和風(fēng)格帶到Python中來,因為這不僅可能會使得代碼變得非常冗余、煩瑣,還可能會嚴(yán)重影響代碼的運行效率。應(yīng)該盡量嘗試從最自然、最簡潔的角度出發(fā)去思考和解決問題,這樣才能寫出更加優(yōu)雅、更加純正、更加Pythonic的代碼。〖1〗〖2〗Python程序設(shè)計基礎(chǔ)(第2版)〖1〗前言〖2〗本書內(nèi)容組織
對于Python程序員來說,能夠熟練運用各種擴展庫毫無疑問是非常重要的,使用優(yōu)秀、成熟的擴展庫可以幫助我們快速實現(xiàn)自己的業(yè)務(wù)邏輯和創(chuàng)意。但是也必須清楚地認(rèn)識到,Python內(nèi)功是非常重要的,Python語言基礎(chǔ)知識和基本數(shù)據(jù)結(jié)構(gòu)的熟練掌握是理解和運用其他擴展庫的必備條件之一。所以,本書前11章把重點和主要篇幅放在了Python編程基礎(chǔ)知識的介紹上,通過大量案例介紹Python在實際開發(fā)中的應(yīng)用,然后在最后兩章介紹數(shù)據(jù)庫編程和Python在數(shù)據(jù)分析、處理與科學(xué)計算可視化等領(lǐng)域的應(yīng)用。關(guān)于其他應(yīng)用領(lǐng)域的擴展庫可以參考本書最后的附錄,并結(jié)合自己的專業(yè)領(lǐng)域查閱相關(guān)文檔。全書共13章,主要內(nèi)容組織如下。
第1章管中窺豹: Python概述。介紹Python語言的特點,Python程序文件名,擴展庫的管理與使用,Python代碼編寫規(guī)范和優(yōu)化建議。
第2章萬丈高樓平地起:
運算符、表達(dá)式與內(nèi)置對象。講解Python對象模型,數(shù)字、字符串、列表、元組、字典、集合等基本數(shù)據(jù)類型,運算符與表達(dá)式,內(nèi)置函數(shù)。
第3章玄之又玄,眾妙之門:
詳解Python序列結(jié)構(gòu)。講解列表、元組、字典、集合等序列的常用方法和基本操作,切片操作,列表推導(dǎo)式,元組與生成器推導(dǎo)式,序列解包,字典、集合基本操作和常用方法。
第4章反者,道之動:
程序控制結(jié)構(gòu)。講解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)的綜合運用。
第5章代碼復(fù)用技術(shù)(一):
函數(shù)。講解函數(shù)的定義與使用,普通位置參數(shù)、關(guān)鍵參數(shù)、默認(rèn)值參數(shù)、長度可變參數(shù)等不同參數(shù)類型,全局變量與局部變量,參數(shù)傳遞時的序列解包,return語句,lambda表達(dá)式。
第6章代碼復(fù)用技術(shù)(二):
面向?qū)ο蟪绦蛟O(shè)計。講解類的定義與繼承,self與cls參數(shù),類成員與實例成員,私有成員與公有成員,特殊方法與運算符重載。
第7章文本處理(一):
字符串。講解字符串編碼格式,字符串格式化、替換、分割、連接、排版等基本操作方法。
第8章文本處理(二):
正則表達(dá)式。講解正則表達(dá)式語法、正則表達(dá)式對象、子模式與match對象,以及Python正則表達(dá)式模塊re的應(yīng)用。
第9章數(shù)據(jù)永久化:
文件內(nèi)容操作。講解文件操作基本知識與Python文件對象,文本文件內(nèi)容讀寫,二進(jìn)制文件內(nèi)容讀寫與對象序列化,Word、Excel等常見二進(jìn)制文件的內(nèi)容讀寫。
第10章文件與文件夾操作。講解文件復(fù)制、移動、重命名、遍歷等文件級操作以及目錄操作有關(guān)知識。
第11章代碼質(zhì)量保障:
異常處理結(jié)構(gòu)與單元測試。講解Python異常類層次結(jié)構(gòu)與自定義異常類,多種不同形式的異常處理結(jié)構(gòu),以及單元測試。
第12章數(shù)據(jù)庫應(yīng)用開發(fā)。講解SQLite數(shù)據(jù)庫的基本特點與用法,以及Python對SQLite數(shù)據(jù)庫和Access、MySQL、MS SQL Server等數(shù)據(jù)庫的操作方法。
第13章數(shù)據(jù)分析與科學(xué)計算可視化。講解Python標(biāo)準(zhǔn)庫statistics以及numpy、scipy、pandas、matplotlib等擴展庫的用法,講解數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)可視化以及科學(xué)計算的有關(guān)內(nèi)容。
本書特色
內(nèi)容與Python最新版本同步。本書完全面向Python 3.x,全部案例代碼使用Python 3.5.x和Python 3.6.x編寫,大部分內(nèi)容同樣適用于Python 3.4.x。
信息量大、知識點密集。全書沒有多余的文字和軟件安裝截圖,充分利用寶貴的篇幅來介紹和講解盡可能多的知識點,絕對物超所值。本書作者具有15年程序設(shè)計教學(xué)經(jīng)驗,講授過匯編語言、C/C /C#、Java、PHP、Python等多門程序設(shè)計語言,并編寫過大量的應(yīng)用程序。在本書內(nèi)容的組織和安排上,結(jié)合了作者多年教學(xué)與開發(fā)過程中積累的許多案例,并巧妙地糅合進(jìn)了相應(yīng)的章節(jié)。
案例豐富,實用性強,注釋量大。精選多個領(lǐng)域中的經(jīng)典案例,并且每段代碼都配有大量注釋,大幅度縮短了讀者理解代碼所需要的時間。
語言精練,代碼優(yōu)雅。使用最簡練的語言和代碼介紹Python語法和應(yīng)用,完美詮釋Pythonic真諦。
深度與廣度兼顧。本書對Python內(nèi)部工作原理進(jìn)行一定程序的剖析,并適當(dāng)介紹Python代碼優(yōu)化和安全編程的有關(guān)知識,可以滿足不同層次讀者的需要,讀者對書中內(nèi)容每多讀一遍都會有新的收獲和體會。
本書適用讀者
本書可以作為(但不限于):
會計、經(jīng)濟、金融、心理學(xué)、統(tǒng)計、管理、人文社科以及其他非計算機專業(yè)本科或?qū)?频某绦蛟O(shè)計教材。如果作為本科非計算機專業(yè)程序設(shè)計語言公共課或選修課教材,建議采用64學(xué)時或48學(xué)時邊講邊練的教學(xué)模式。
具有一定Python基礎(chǔ)的讀者進(jìn)階學(xué)習(xí)資料。
打算利用業(yè)余時間學(xué)習(xí)一門快樂的程序設(shè)計語言并編寫幾個小程序來娛樂的讀者首選學(xué)習(xí)資料。
少數(shù)對編程具有濃厚興趣和天賦的中學(xué)生課外閱讀資料。
教學(xué)資源
本書提供全套教學(xué)課件、源代碼、課后習(xí)題答案與分析、考試題庫、教學(xué)視頻、教案以及授課計劃和學(xué)時分配表,需要配套資源,可以登錄清華大學(xué)出版社官方網(wǎng)站(www.tup.com.cn)下載或與作者聯(lián)系索取,作者的微信公眾號是Python小屋,電子郵箱地址是dongfuguo2005@126.com。
由于時間倉促,作者水平有限,書中難免存在疏漏之處,還請同行指正并通過作者聯(lián)系方式進(jìn)行反饋,作者將不定期在微信公眾號更新勘誤并實名感謝。
感謝
首先感謝父母的養(yǎng)育之恩,在當(dāng)年那么艱苦的條件下還堅決支持我讀書,而沒有讓我像其他同齡的孩子一樣輟學(xué)。感謝姐姐、姐夫多年來對我的愛護(hù)以及在老家對父母的照顧,感謝善良的弟弟、弟媳在老家對父母的照顧,正是有了你們,我才能在遠(yuǎn)離家鄉(xiāng)的城市安心工作。感謝我的妻子在生活中對我的大力支持,也感謝懂事的女兒在我工作時能夠在旁邊安靜地讀書而盡量不打擾我,并在定稿前和媽媽一起幫我閱讀全書并檢查出了幾個錯別字。
感謝每一位讀者,感謝您在茫茫書海中選擇了這本書,衷心祝愿您能夠從本書中受益,學(xué)到您需要的知識!同時也期待每一位讀者的熱心反饋,隨時歡迎指出書中的不足!
本書在編寫出版過程中得到清華大學(xué)出版社的大力支持和幫助,在此表示衷心的感謝。
董付國于山東煙臺
2017年10月
目錄
第1章第1章管中窺豹: Python概述1
1.1Python是這樣一種語言1
1.2Python版本之爭1
1.3Python編程規(guī)范與代碼優(yōu)化建議2
1.4Anaconda3開發(fā)環(huán)境的安裝與使用3
1.5安裝擴展庫的幾種方法5
1.6標(biāo)準(zhǔn)庫與擴展庫中對象的導(dǎo)入與使用6
1.6.1import模塊名[as 別名]6
1.6.2from模塊名import對象名[as別名]7
1.6.3from模塊名 import *7
1.7__name__屬性的作用8
本章小結(jié)8
習(xí)題9
第2章第2章萬丈高樓平地起: 運算符、表達(dá)式與內(nèi)置對象10
2.1Python常用內(nèi)置對象10
2.1.1常量與變量11
2.1.2數(shù)字12
2.1.3字符串與字節(jié)串15
2.1.4列表、元組、字典、集合16
2.2Python運算符與表達(dá)式17
2.2.1算術(shù)運算符18
2.2.2關(guān)系運算符19
2.2.3成員測試運算符in與同一性測試運算符is20
2.2.4位運算符與集合運算符21
2.2.5邏輯運算符22
2.2.6矩陣乘法運算符@22
2.2.7補充說明23
2.3Python關(guān)鍵字簡要說明23〖1〗〖2〗Python程序設(shè)計基礎(chǔ)(第2版)〖1〗目錄〖2〗2.4Python常用內(nèi)置函數(shù)用法精要25
2.4.1類型轉(zhuǎn)換與類型判斷27
2.4.2最值與求和31
2.4.3基本輸入輸出32
2.4.4排序與逆序33
2.4.5枚舉34
2.4.6map()、reduce()、filter()35
2.4.7range()37
2.4.8zip()38
2.4.9eval()39
2.5精彩案例賞析39
本章小結(jié)40
習(xí)題41
第3章第3章玄之又玄,眾妙之門: 詳解Python序列結(jié)構(gòu)42
3.1列表: 打了激素的數(shù)組42
3.1.1列表創(chuàng)建與刪除43
3.1.2列表元素訪問44
3.1.3列表常用方法44
3.1.4列表對象支持的運算符50
3.1.5內(nèi)置函數(shù)對列表的操作51
3.1.6列表推導(dǎo)式語法與應(yīng)用案例52
3.1.7切片操作的強大功能56
3.2元組: 輕量級列表59
3.2.1元組創(chuàng)建與元素訪問59
3.2.2元組與列表的異同點60
3.2.3生成器推導(dǎo)式61
3.3字典: 反映對應(yīng)關(guān)系的映射類型62
3.3.1字典創(chuàng)建與刪除62
3.3.2字典元素的訪問63
3.3.3元素的添加、修改與刪除64
3.3.4標(biāo)準(zhǔn)庫collections中與字典有關(guān)的類65
3.4集合: 元素之間不允許重復(fù)66
3.4.1集合對象的創(chuàng)建與刪除66
3.4.2集合操作與運算67
3.4.3集合應(yīng)用案例69
3.5序列解包的多種形式和用法71
本章小結(jié)73
習(xí)題74
第4章第4章反者,道之動: 程序控制結(jié)構(gòu)75
4.1條件表達(dá)式75
4.2選擇結(jié)構(gòu)77
4.2.1單分支選擇結(jié)構(gòu)77
4.2.2雙分支選擇結(jié)構(gòu)78
4.2.3多分支選擇結(jié)構(gòu)79
4.2.4選擇結(jié)構(gòu)的嵌套80
4.3循環(huán)結(jié)構(gòu)81
4.3.1for循環(huán)與while循環(huán)81
4.3.2break與continue語句82
4.3.3循環(huán)代碼優(yōu)化技巧83
4.4精彩案例賞析84
本章小結(jié)90
習(xí)題90
第5章第5章代碼復(fù)用技術(shù)(一): 函數(shù)92
5.1函數(shù)定義與使用92
5.1.1基本語法92
5.1.2函數(shù)嵌套定義、可調(diào)用對象與修飾器94
5.1.3函數(shù)遞歸調(diào)用96
5.2函數(shù)參數(shù)97
5.2.1位置參數(shù)99
5.2.2默認(rèn)值參數(shù)99
5.2.3關(guān)鍵參數(shù)101
5.2.4可變長度參數(shù)101
5.2.5傳遞參數(shù)時的序列解包102
5.3變量作用域103
5.4lambda表達(dá)式105
5.5生成器函數(shù)設(shè)計要點107
5.6精彩案例賞析109
本章小結(jié)126
習(xí)題127
第6章第6章代碼復(fù)用技術(shù)(二): 面向?qū)ο蟪绦蛟O(shè)計128
6.1類的定義與使用128
6.2數(shù)據(jù)成員與成員方法129
6.2.1私有成員與公有成員129
6.2.2數(shù)據(jù)成員130
6.2.3成員方法、類方法、靜態(tài)方法、抽象方法131
6.2.4屬性133
6.2.5類與對象的動態(tài)性、混入機制136
6.3繼承、多態(tài)137
6.3.1繼承137
6.3.2多態(tài)139
6.4特殊方法與運算符重載139
6.5精彩案例賞析142
6.5.1自定義隊列142
6.5.2自定義棧145
本章小結(jié)148
習(xí)題148
第7章第7章文本處理(一): 字符串150
7.1字符串編碼格式簡介151
7.2轉(zhuǎn)義字符與原始字符串152
7.3字符串格式化153
7.3.1使用%符號進(jìn)行格式化153
7.3.2使用format()方法進(jìn)行字符串格式化154
7.3.3格式化的字符串常量155
7.3.4使用Template模板進(jìn)行格式化156
7.4字符串常用操作156
7.4.1find()、rfind()、index()、rindex()、count()156
7.4.2split()、rsplit()、partition()、rpartition()157
7.4.3join()158
7.4.4lower()、upper()、capitalize()、title()、swapcase()159
7.4.5replace()、maketrans()、translate()160
7.4.6strip()、rstrip()、lstrip()161
7.4.7startswith()、endswith()161
7.4.8isalnum()、isalpha()、isdigit()、isdecimal()、isnumeric()、isspace()、
isupper()、islower()162
7.4.9center()、ljust()、rjust()、zfill()163
7.4.10字符串對象支持的運算符163
7.4.11適用于字符串對象的內(nèi)置函數(shù)165
7.4.12字符串對象的切片操作167
7.5字符串常量167
7.6中英文分詞168
7.7漢字到拼音的轉(zhuǎn)換169
7.8精彩案例賞析170
本章小結(jié)173
習(xí)題173
第8章第8章文本處理(二): 正則表達(dá)式174
8.1正則表達(dá)式語法174
8.1.1正則表達(dá)式基本語法174
8.1.2正則表達(dá)式擴展語法175
8.1.3正則表達(dá)式集錦176
8.2直接使用正則表達(dá)式模塊re處理字符串177
8.3使用正則表達(dá)式對象處理字符串181
8.4match對象183
8.5精彩案例賞析185
本章小結(jié)186
習(xí)題187
第9章第9章數(shù)據(jù)永久化: 文件內(nèi)容操作188
9.1文件操作基本知識189
9.1.1內(nèi)置函數(shù)open()189
9.1.2文件對象屬性與常用方法190
9.1.3上下文管理語句with191
9.2文本文件內(nèi)容操作案例精選192
9.3二進(jìn)制文件操作案例精選196
9.3.1使用pickle模塊讀寫二進(jìn)制文件196
9.3.2使用struct模塊讀寫二進(jìn)制文件198
9.3.3使用shelve模塊操作二進(jìn)制文件199
9.3.4其他常見類型二進(jìn)制文件操作案例199
本章小結(jié)206
習(xí)題206
第10章第10章文件與文件夾操作207
10.1os模塊207
10.2os.path模塊209
10.3shutil模塊211
10.4精彩案例賞析212
本章小結(jié)215
習(xí)題216
第11章第11章代碼質(zhì)量保障: 異常處理結(jié)構(gòu)與單元測試217
11.1異常處理結(jié)構(gòu)217
11.1.1異常的概念與表現(xiàn)形式217
11.1.2Python內(nèi)置異常類層次結(jié)構(gòu)218
11.1.3異常處理結(jié)構(gòu)220
11.1.4斷言與上下文管理語句225
11.2單元測試unittest225
本章小結(jié)228
習(xí)題229
第12章數(shù)據(jù)庫應(yīng)用開發(fā)230
12.1使用Python操作SQLite數(shù)據(jù)庫230
12.1.1Connection對象231
12.1.2Cursor對象232
12.1.3Row對象235
12.2使用Python操作其他關(guān)系型數(shù)據(jù)庫235
12.2.1操作Access數(shù)據(jù)庫236
12.2.2操作MS SQL Server數(shù)據(jù)庫237
12.2.3操作MySQL數(shù)據(jù)庫238
12.3操作MongoDB數(shù)據(jù)庫240
12.4精彩案例賞析242
本章小結(jié)244
習(xí)題245
第13章數(shù)據(jù)分析與科學(xué)計算可視化246
13.1擴展庫numpy簡介246
13.2科學(xué)計算擴展庫scipy256
13.2.1數(shù)學(xué)、物理常用常數(shù)與單位模塊constants256
13.2.2特殊函數(shù)模塊special257
13.2.3信號處理模塊signal257
13.2.4圖像處理模塊ndimage259
13.3擴展庫pandas簡介264
13.4統(tǒng)計分析標(biāo)準(zhǔn)庫statistics用法簡介269
13.5matplotlib272
13.5.1繪制正弦曲線272
13.5.2繪制散點圖272
13.5.3繪制餅狀圖274
13.5.4繪制帶有中文標(biāo)簽和圖例的圖275
13.5.5繪制圖例標(biāo)簽中帶有公式的圖275
13.5.6使用pyplot繪制,多個圖形單獨顯示276
13.5.7繪制三維參數(shù)曲線278
13.5.8繪制三維圖形278
13.6創(chuàng)建詞云280
本章小結(jié)282
習(xí)題282
附錄附錄精彩在繼續(xù)283
附錄AGUI開發(fā)283
附錄B計算機圖形學(xué)編程286
附錄C圖像編程289
附錄D密碼學(xué)編程292
附錄E系統(tǒng)運維292
附錄FWindows系統(tǒng)編程293
附錄G軟件分析與逆向工程295
參考文獻(xiàn)297