Python核心編程(第3版)
鏈接:https://pan.baidu.com/s/1xAtxoF3Ednum5PeIU_NAsA?pwd=v9c7?
提取碼:v9c7

編輯推薦
適讀人群 :本書適合具有一定經(jīng)驗(yàn)的Python開發(fā)人員閱讀
全面涵蓋當(dāng)今應(yīng)用開發(fā)中的眾多領(lǐng)域 為中級Python開發(fā)人員提供實(shí)踐方法 涵蓋大量實(shí)用的代碼案例 每章末尾的習(xí)題有助于鞏固所學(xué)知識
想進(jìn)一步提升Python編程水平?請深入分析真實(shí)應(yīng)用程序中使用的大量相關(guān)主題 涵蓋了正則表達(dá)式、Internet/網(wǎng)絡(luò)編程、GUI、SQL/數(shù)據(jù)庫/ORM、多線程、Web開發(fā) 了解當(dāng)前的開發(fā)區(qū)域,比如Google+、Twitter、MongoDB、OAuth、Python 3遷移、Java/Jython 囊括有關(guān)Django、Google App Engine、CSV/JSON/XML和Microsoft Office的全新內(nèi)容?! “琍ython 2和Python 3代碼,以便立即可以使用 提供了代碼片段、互動案例和實(shí)用練習(xí),旨在鞏固Python技能
Python是一種靈活、可靠且具有表現(xiàn)力的編程語言,它將編譯語言的強(qiáng)大與腳本語言的簡潔性、快速開發(fā)特性整合起來。在本書中,Python開發(fā)人員兼企業(yè)培訓(xùn)師Wesley Chun會幫助您將Python技能提升到更高的水平?! ”緯w了成為一名技術(shù)全面的Python開發(fā)人員所需的一切內(nèi)容。本書講解了應(yīng)用開發(fā)相關(guān)的多個(gè)領(lǐng)域,而且書中的內(nèi)容可以立即應(yīng)用到項(xiàng)目開發(fā)中。此外,本書還包含了一些使用Python 2和Python 3編寫的代碼案例,以及一些代碼移植技巧。有些代碼片段甚至無須修改就可以運(yùn)行在Python 2.x或Python 3.x上。
本書講解了如下內(nèi)容: 學(xué)習(xí)專業(yè)的Python風(fēng)格、實(shí)踐以及好的編程習(xí)慣; 使用TCP、UDP、XML-RPC來開發(fā)客戶端和服務(wù)器,并供高級的庫(比如SocketServer和Twisted)使用使用Tkinter和其他可用的工具來開發(fā)GUI應(yīng)用; 通過使用C/C++編寫擴(kuò)展,或者使用多線程來編寫I/O密集型代碼,提升應(yīng)用的性能; 探究QSL和關(guān)系數(shù)據(jù)庫、ORM,甚至是MongoDB這樣的非關(guān)系型(NonSQL)數(shù)據(jù)庫; 學(xué)習(xí)Web編程的基礎(chǔ)知識,包括Web客戶端和服務(wù)器,以及CGI和WSGI; 使用正則表達(dá)式和強(qiáng)大的文本處理工具,來創(chuàng)建和解析CSV、JSON和XML數(shù)據(jù); 使用COM客戶端編程與常見的Microsoft Office軟件(比如Excel、PowerPoint、Outlook)進(jìn)行交互; 使用Django框架深入了解Web開發(fā),以及使用Google App Engine深入了解云計(jì)算; 使用Jyhon探索Java編程,以及在JVM上運(yùn)行Python代碼的方式; 連接Web服務(wù),比如連接Yahoo!Fiance獲取股票行情,或者連接Yahoo!Mail、Gmail以及其他郵件服務(wù)器來下載或發(fā)送郵件; 通過學(xué)習(xí)如何連接Twitter和Google+網(wǎng)絡(luò)來擁抱社交媒體的熱潮。
內(nèi)容簡介
《Python核心編程(第3版)》是經(jīng)典暢銷圖書《Python核心編程(第二版)》的全新升級版本,總共分為3部分。第1部分為講解了Python的一些通用應(yīng)用,包括正則表達(dá)式、網(wǎng)絡(luò)編程、Internet客戶端編程、多線程編程、GUI編程、數(shù)據(jù)庫編程、Microsoft Office編程、擴(kuò)展Python等內(nèi)容。第2部分講解了與Web開發(fā)相關(guān)的主題,包括Web客戶端和服務(wù)器、CGI和WSGI相關(guān)的Web編程、Django Web框架、云計(jì)算、高級Web服務(wù)。第3部分則為一個(gè)補(bǔ)充/實(shí)驗(yàn)章節(jié),包括文本處理以及一些其他內(nèi)容?! 禤ython核心編程(第3版)》適合具有一定經(jīng)驗(yàn)的Python開發(fā)人員閱讀。
作者簡介
Wesley Chun,在高中階段開始進(jìn)入計(jì)算世界,當(dāng)時(shí)他使用的是BASIC和6502匯編語言,系統(tǒng)是Commodore。隨后開始在App IIe上使用Pascal語言,然后是再在穿孔卡片上使用ForTran語言。正在在穿孔卡片上使用ForTran的經(jīng)歷使他成為一名謹(jǐn)慎小心的開發(fā)人員,因?yàn)閷⒁唤M卡片發(fā)送到學(xué)校的主機(jī)并得到返回結(jié)果,往往需要一周的往返時(shí)間。Wesley還將一個(gè)新聞?lì)悘拇蜃謾C(jī)改變?yōu)镺sborne 1 CP/M計(jì)算機(jī)。他得到的首份有酬勞的工作是作為學(xué)生輔導(dǎo)員為四年級、五年級和六年級的學(xué)生及其父母家講授BASIC編程課程?! 「咧挟厴I(yè)后,Wesley以加利福尼亞校友學(xué)者的身份進(jìn)入加州大學(xué)伯克利分校。他主修應(yīng)用數(shù)學(xué)(計(jì)算機(jī)科學(xué)),輔修音樂(古典鋼琴),并以A級和B級的成績畢業(yè)。在學(xué)校期間,他先后使用過Pascal、Logo和C語言編寫過程序。他還參加了一個(gè)以錄像帶培訓(xùn)和心理咨詢?yōu)樘厣妮o導(dǎo)課程。他的暑期實(shí)習(xí)項(xiàng)目包括以第4代編程語言編寫代碼,并編寫了一個(gè)“Getting Started”用戶手冊。幾年過后,他開始在加州大學(xué)圣巴拉拉分校繼續(xù)學(xué)習(xí),并獲得了計(jì)算機(jī)科學(xué)(分布式系統(tǒng))的碩士學(xué)位。在此期間,他還講授C編程課程。他的一片以其碩士論文為基礎(chǔ)的論文在第29杰HICSS大會上被提名為論文,其隨后的一個(gè)論文版本刊登在新加坡大學(xué)High Performance Computing雜志上?! ∽詮漠厴I(yè)之后,Wesley就投身于軟件行業(yè),編寫和出版了多本圖書,并且發(fā)表了數(shù)百篇會議報(bào)告和教程。此外還開發(fā)了針對公共企業(yè)和私有企業(yè)培訓(xùn)的Python課程。Wesley的Python使用經(jīng)歷始于Python 1.4版本(當(dāng)時(shí)Python剛剛起步),他使用Python設(shè)計(jì)了Yahoo!Mail拼寫檢查程序以及地址簿。他隨后成為Yahoo!People Search部門的首席工程師。在離開Yahoo!之后,他寫作了本書第1版,然后開始周游世界?;貋碇螅褂肞ython編寫過許多程序,包括本地產(chǎn)品搜索程序、反垃圾郵件和防病毒郵件程序、Facebook游戲/應(yīng)用,以及許多完全不同的其他東西,比如醫(yī)生用來進(jìn)行脊柱骨折分析的軟件?! ≡谄溟e暇時(shí)間,Wesley喜歡彈鋼琴、打保齡球、打籃球、騎自行車、玩極限飛盤、打撲克、旅行,以及與家人共享人倫。他還是Tutor郵件列表和PyCon這兩個(gè)Python用戶組的志愿者。他還維護(hù)著艾倫帕森斯怪物項(xiàng)目目錄(Alan Parsons Project Monster Discography)。在本書寫作之時(shí),Wesley是Google的開發(fā)大使,為其云產(chǎn)品背書。Wesley生活在硅谷,您可以通過@wescpy或plus.ly/wescpy來找到他。
精彩書評
“本書簡潔而不失其技術(shù)深度,內(nèi)容豐富全面,歷史資料翔實(shí)齊全,這讓本書成為學(xué)習(xí)Python的完美教程。本書易于閱讀,以極簡的文字介紹了復(fù)雜的案例,同時(shí)涵蓋了其他同類圖書中很少涵蓋的歷史參考資料。簡而言之,本書棒極了!” ——Gloria. W
“期待已久的Core Python Programming第2版已經(jīng)證明了本書確實(shí)值得期待——它深度與廣度齊備,其中囊括的有用練習(xí)可以幫助讀者掌握Python并付之于實(shí)踐?!薄 狝lex Martelli,Python in a Nutshell作者兼Python Cookbook編輯
“Wesley Chun的Core Python Programming一書好評如潮,而且它也證明它配得上所有的好評。我想該書是當(dāng)前學(xué)習(xí)Python的圖書。在市面上眾多的Python圖書中,我覺得Chun的這本書是好的,因此向大家強(qiáng)烈推薦本書?!薄 狣avid Mertz博士,IBM DeveloperWorks
“在過去多年,我一直在從事Python的研究,發(fā)現(xiàn)本書獲得了大量的正面評價(jià)。這些評價(jià)證實(shí)了這樣一個(gè)觀點(diǎn),即Core Python Programming被認(rèn)為是Python入門讀物事實(shí)上的標(biāo)準(zhǔn)?!薄 猂ichard Ozaki,Lockheed Martin公司
“終于,一本既可以作為Python教程又可以作為Python編程語言參考的圖書問世!” ——Michael Baxter,Linux Journal
“本書寫作相當(dāng)精良。這是我遇到的清晰、友好的Python圖書,它在一個(gè)廣闊的背景中介紹了Python。它仔細(xì)、深入地剖析了一些重要的Python主題,而且讀者無需大量的相關(guān)經(jīng)驗(yàn)也能看懂。與所有其他Python入門類圖書不同的是,它不會用隱晦、難以理解的文字來折磨讀者,而是始終立足于幫助讀者牢固掌握Python的語法和結(jié)構(gòu)?!薄 猦ttp://python.org bookstore Web site
“如果我只能有一本Python圖書的話,那它肯定是Wesley Chun著作的Core Python Programming。本書成功地涵蓋了Python的多個(gè)主題,其詳細(xì)程度遠(yuǎn)甚于Learning Python一書,而且涵蓋的主題也遠(yuǎn)非Python核心語言這么簡單。如果你只打算購買一本Python圖書,我強(qiáng)烈向您推薦本書。你不但會愛上本書,也會愛上本書中包含的程序員的諷刺性智慧。重要的是,您將學(xué)會Python。更更重要的是,您會發(fā)現(xiàn)本書會在您每日的Python編程生活中提供各種幫助。干的不錯(cuò),Chun先生!” ——Ron Stephens,Python Learning Foundation
“我認(rèn)為編程初學(xué)者的語言是Python,毋庸置疑!我喜歡的圖書是Core Python Programming?!薄 猻003apr,MP3Car.com Forums
“就我個(gè)人而言,我相當(dāng)喜歡Pyhon。它易于學(xué)習(xí)、非常直觀、相當(dāng)靈活,而且執(zhí)行速度也相當(dāng)快。在Windows世界中,Python雖然只是剛嶄露頭角,但是因?yàn)樵絹碓蕉嗟娜藗儼l(fā)現(xiàn)了它,因此選擇從Python起步可以獲得大量的支持。要學(xué)習(xí)Python,我選擇從Wesley Chun的這本Core Python Programming起步?!薄 狟ill Boswell,MCSE,Microsoft Certified Professional Magazine Online
“如果你是通過圖書來學(xué)習(xí)編程,我向您推薦Core Python Programming,它是目前為止我發(fā)現(xiàn)的Python圖書。我也是一個(gè)Python新兵,但是在3個(gè)月之后,我就可以在項(xiàng)目中實(shí)施Python了(自動處理MSOffice、SQL DB Stuff等)。” ——ptonman,Dev Shed Forums
“Python是一種美麗的語言。它易于學(xué)習(xí)、跨平臺,而且能夠良好運(yùn)行。它已經(jīng)實(shí)現(xiàn)了Java一直想要實(shí)現(xiàn)的很多技術(shù)目標(biāo)。對Python的一句話描述是‘所有其他語言是隨著時(shí)間發(fā)生演進(jìn)變化,但是Python則是設(shè)計(jì)出來的。’而且Python設(shè)計(jì)的相當(dāng)不錯(cuò)。雖然現(xiàn)在市面上有大量的Python圖書,但是目前為止我遇到的好的一本是Core Python Programming?!薄 狢hris Timmons,C. R. Timmons Consulting
“如果你喜歡Prentice Hall出版社Core系列圖書,你需要考慮的另一本寫作精良的圖書是Core Python Programming。它將其他Python圖書中很少涵蓋的許多實(shí)用主題進(jìn)行了事無巨細(xì)的剖析?!薄 狹itchell L. Model, MLM Consulting
目錄
目錄
第1部分 通用應(yīng)用主題
第1章 正則表達(dá)式 2
1.1 簡介/動機(jī) 3
1.2 特殊符號和字符 5
1.2.1 使用擇一匹配符號匹配多個(gè)正則表達(dá)式模式 6
1.2.2 匹配任意單個(gè)字符 6
1.2.3 從字符串起始或者結(jié)尾或者單詞邊界匹配 7
1.2.4 創(chuàng)建字符集 8
1.2.5 限定范圍和否定 8
1.2.6 使用閉包操作符實(shí)現(xiàn)存在性和頻數(shù)匹配 9
1.2.7 表示字符集的特殊字符 10
1.2.8 使用圓括號指定分組 10
1.2.9 擴(kuò)展表示法 11
1.3 正則表達(dá)式和Python語言 11
1.3.1 re模塊:核心函數(shù)和方法 12
1.3.2 使用compile()函數(shù)編譯正則表達(dá)式 13
1.3.3 匹配對象以及group()和groups()方法 14
1.3.4 使用match()方法匹配字符串 14
1.3.5 使用search()在一個(gè)字符串中查找模式(搜索與匹配的對比) 15
1.3.6 匹配多個(gè)字符串 16
1.3.7 匹配任何單個(gè)字符(.) 16
1.3.8 創(chuàng)建字符集([ ]) 17
1.3.9 重復(fù)、特殊字符以及分組 18
1.3.10 匹配字符串的起始和結(jié)尾以及單詞邊界 20
1.3.11 使用findall()和finditer()查找每一次出現(xiàn)的位置 21
1.3.12 使用sub()和subn()搜索與替換 22
1.3.13 在限定模式上使用split()分隔字符串 23
1.3.14 擴(kuò)展符號 24
1.3.15 雜項(xiàng) 27
1.4 一些正則表達(dá)式示例 28
1.5 更長的正則表達(dá)式示例 33
1.5.1 匹配字符串 35
1.5.2 搜索與匹配……還有貪婪 37
1.6 練習(xí) 39
第2章 網(wǎng)絡(luò)編程 42
2.1 簡介 43
2.2 客戶端/服務(wù)器架構(gòu) 43
2.2.1 硬件客戶端/服務(wù)器架構(gòu) 43
2.2.2 軟件客戶端/服務(wù)器架構(gòu) 44
2.2.3 銀行出納員作為服務(wù)器嗎 44
2.2.4 客戶端/服務(wù)器網(wǎng)絡(luò)編程 45
2.3 套接字:通信端點(diǎn) 46
2.3.1 套接字 46
2.3.2 套接字地址:主機(jī)-端口對 47
2.3.3 面向連接的套接字與無連接的套接字 47
2.4 Python中的網(wǎng)絡(luò)編程 48
2.4.1 socket()模塊函數(shù) 49
2.4.2 套接字對象(內(nèi)置)方法 49
2.4.3 創(chuàng)建TCP服務(wù)器 51
2.4.4 創(chuàng)建TCP客戶端 54
2.4.5 執(zhí)行TCP服務(wù)器和客戶端 56
2.4.6 創(chuàng)建UDP服務(wù)器 58
2.4.7 創(chuàng)建UDP客戶端 59
2.4.8 執(zhí)行UDP服務(wù)器和客戶端 60
2.4.9 socket模塊屬性 61
2.5 *SocketServer模塊 62
2.5.1 創(chuàng)建SocketServer TCP服務(wù)器 63
2.5.2 創(chuàng)建SocketServer TCP客戶端 64
2.5.3 執(zhí)行TCP服務(wù)器和客戶端 65
2.6 *Twisted框架介紹 66
2.6.1 創(chuàng)建Twisted Reactor TCP服務(wù)器 66
2.6.2 創(chuàng)建Twisted Reactor TCP客戶端 67
2.6.3 執(zhí)行TCP服務(wù)器和客戶端 69
2.7 相關(guān)模塊 69
2.8 練習(xí) 70
第3章 因特網(wǎng)客戶端編程 74
3.1 因特網(wǎng)客戶端簡介 75
3.2 文件傳輸 75
3.2.1 文件傳輸因特網(wǎng)協(xié)議 75
3.2.2 文件傳輸協(xié)議 76
3.2.3 Python和FTP 77
3.2.4 ftplib.FTP類的方法 77
3.2.5 交互式FTP示例 78
3.2.6 客戶端FTP程序示例 79
3.2.7 FTP的其他內(nèi)容 80
3.3 網(wǎng)絡(luò)新聞 81
3.3.1 Usenet與新聞組 81
3.3.2 網(wǎng)絡(luò)新聞傳輸協(xié)議 82
3.3.3 Python和NNTP 83
3.3.4 nntplib.NNTP類方法 83
3.3.5 交互式NNTP示例 84
3.3.6 客戶端程序NNTP示例 85
3.3.7 NNTP的其他內(nèi)容 89
3.4 電子郵件 90
3.4.1 電子郵件系統(tǒng)組件和協(xié)議 90
3.4.2 發(fā)送電子郵件 91
3.4.3 Python和SMTP 92
3.4.4 smtplib.SMTP類方法 92
3.4.5 交互式SMTP示例 93
3.4.6 SMTP的其他內(nèi)容 94
3.4.7 接收電子郵件 94
3.4.8 POP和IMAP 95
3.4.9 Python和POP3 95
3.4.10 交互式POP3示例 96
3.4.11 poplib.POP3類方法 97
3.4.12 客戶端程序SMTP和POP3示例 98
3.4.13 Python和IMAP4 100
3.4.14 交互式IMAP4示例 100
3.4.15 imaplib.IMAP4類中的常用方法 101
3.5 實(shí)戰(zhàn) 102
3.5.1 生成電子郵件 102
3.5.2 解析電子郵件 104
3.5.3 基于Web的云電子郵件服務(wù) 105
3.5.4 最佳實(shí)踐:安全、重構(gòu) 106
3.5.5 Yahoo! Mail 108
3.5.6 Gmail 112
3.6 相關(guān)模塊 115
3.6.1 電子郵件 115
3.6.2 其他因特網(wǎng)客戶端協(xié)議 115
3.7 練習(xí) 116
第4章 多線程編程 122
4.1 簡介/動機(jī) 123
4.2 線程和進(jìn)程 124
4.2.1 進(jìn)程 124
4.2.2 線程 124
4.3 線程和Python 125
4.3.1 全局解釋器鎖 125
4.3.2 退出線程 126
4.3.3 在Python中使用線程 126
4.3.4 不使用線程的情況 126
4.3.5 Python的threading模塊 128
4.4 thread模塊 128
4.5 threading模塊 132
4.5.1 Thread類 133
4.5.2 threading模塊的其他函數(shù) 139
4.6 單線程和多線程執(zhí)行對比 140
4.7 多線程實(shí)踐 142
4.7.1 圖書排名示例 142
4.7.2 同步原語 149
4.7.3 鎖示例 149
4.7.4 信號量示例 156
4.8 生產(chǎn)者-消費(fèi)者問題和Queue/queue模塊 159
4.9 線程的替代方案 162
4.9.1 subprocess模塊 163
4.9.2 multiprocessing模塊 163
4.9.3 concurrent.futures模塊 163
4.10 相關(guān)模塊 165
4.11 練習(xí) 165
第5章 GUI編程 168
5.1 簡介 169
5.1.1 Tcl、Tk和Tkinter 169
5.1.2 安裝和使用Tkinter 170
5.1.3 客戶端/服務(wù)端架構(gòu) 170
5.2 Tkinter和Python編程 170
5.2.1 Tkinter模塊:添加Tk到應(yīng)用中 171
5.2.2 GUI編程介紹 171
5.2.3 頂層窗口:Tkinter.Tk() 173
5.2.4 Tk控件 173
5.3 Tkinter示例 174
5.3.1 Label控件 174
5.3.2 Button控件 175
5.3.3 Label和Button控件 175
5.3.4 Label、Button和Scale控件 176
5.3.5 偏函數(shù)應(yīng)用示例 178
5.3.6 中級Tkinter示例 180
5.4 其他GUI簡介 185
5.4.1 Tk接口擴(kuò)展(Tix) 187
5.4.2 Python MegaWidgets(PMW) 188
5.4.3 wxWidgets和wxPython 188
5.4.4 GTK+和PyGTK 190
5.4.5 Tile/Ttk 192
5.5 相關(guān)模塊和其他GUI 194
5.6 練習(xí) 196
第6章 數(shù)據(jù)庫編程 198
6.1 簡介 199
6.1.1 持久化存儲 199
6.1.2 數(shù)據(jù)庫基本操作和SQL 199
6.1.3 數(shù)據(jù)庫和Python 201
6.2 Python的DB-API 203
6.2.1 模塊屬性 203
6.2.2 Connection對象 205
6.2.3 Cursor對象 206
6.2.4 類型對象和構(gòu)造函數(shù) 207
6.2.5 關(guān)系數(shù)據(jù)庫 209
6.2.6 數(shù)據(jù)庫和Python:適配器 210
6.2.7 使用數(shù)據(jù)庫適配器的示例 210
6.2.8 數(shù)據(jù)庫適配器示例應(yīng)用 215
6.3 ORM 226
6.3.1 考慮對象,而不是SQL 227
6.3.2 Python和ORM 227
6.3.3 員工角色數(shù)據(jù)庫示例 228
6.3.4 SQLAlchemy 229
6.3.5 SQLObject 240
6.4 非關(guān)系數(shù)據(jù)庫 245
6.4.1 NoSQL介紹 245
6.4.2 MongoDB 246
6.4.3 PyMongo:MongoDB和Python 246
6.4.4 總結(jié) 250
6.5 相關(guān)文獻(xiàn) 250
6.6 練習(xí) 252
第7章 *Microsoft Office編程 256
7.1 簡介 257
7.2 使用Python進(jìn)行COM客戶端編程 257
7.2.1 客戶端COM編程 258
7.2.2 入門 258
7.3 入門示例 259
7.3.1 Excel 259
7.3.2 Word 261
7.3.3 PowerPoint 262
7.3.4 Outlook 264
7.4 中級示例 266
7.4.1 Excel 266
7.4.2 Outlook 268
7.4.3 PowerPoint 273
7.4.4 總結(jié) 280
7.5 相關(guān)模塊/包 281
7.6 練習(xí) 281
第8章 擴(kuò)展Python 286
8.1 簡介和動機(jī) 287
8.1.1 Python擴(kuò)展簡介 287
8.1.2 什么情況下需要擴(kuò)展Python 288
8.1.3 什么情況下不應(yīng)該擴(kuò)展Python 288
8.2 編寫Python擴(kuò)展 289
8.2.1 創(chuàng)建應(yīng)用代碼 289
8.2.2 根據(jù)樣板編寫封裝代碼 291
8.2.3 編譯 296
8.2.4 導(dǎo)入并測試 297
8.2.5 引用計(jì)數(shù) 300
8.2.6 線程和全局解釋器鎖 301
8.3 相關(guān)主題 302
8.3.1 SWIG 302
8.3.2 Pyrex 302
8.3.3 Cython 302
8.3.4 Psyco 303
8.3.5 PyPy 303
8.3.6 嵌入Python 304
8.4 練習(xí) 304
第2部分 Web開發(fā)
第9章 Web客戶端和服務(wù)器 306
9.1 簡介 307
9.1.1 Web應(yīng)用:客戶端/服務(wù)器計(jì)算 307
9.1.2 因特網(wǎng) 308
9.2 Python Web客戶端工具 310
9.2.1 統(tǒng)一資源定位符 310
9.2.2 urlparse模塊 312
9.2.3 urllib模塊/包 313
9.2.4 使用urllib2 HTTP驗(yàn)證的示例 317
9.2.5 將HTTP驗(yàn)證示例移植到Python 3中 319
9.3 Web客戶端 322
9.3.1 一個(gè)簡單的Web爬蟲/蜘蛛/機(jī)器人 322
9.3.2 解析Web頁面 328
9.3.3 可編程的Web瀏覽 333
9.4 Web(HTTP)服務(wù)器 336
9.5 相關(guān)模塊 339
9.6 練習(xí) 341
第10章 Web編程:CGI和WSGI 345
10.1 簡介 346
10.2 幫助Web服務(wù)器處理客戶端數(shù)據(jù) 346
10.2.1 CGI簡介 346
10.2.2 CGI應(yīng)用程序 347
10.2.3 cgi模塊 348
10.2.4 cgitb模塊 348
10.3 構(gòu)建CGI應(yīng)用程序 349
10.3.1 構(gòu)建Web服務(wù)器 349
10.3.2 建立表單頁 351
10.3.3 生成結(jié)果頁面 352
10.3.4 生成表單和結(jié)果頁面 353
10.3.5 全面交互的Web站點(diǎn) 357
10.4 在CGI中使用Unicode 362
10.5 高級CGI 364
10.5.1 mulitipart表單提交和文件上傳 364
10.5.2 多值字段 364
10.5.3 cookie 365
10.5.4 cookie和文件上傳 365
10.6 WSGI簡介 373
10.6.1 動機(jī)(替代CGI) 373
10.6.2 服務(wù)器集成 374
10.6.3 外部進(jìn)程 374
10.6.4 WSGI簡介 375
10.6.5 WSGI服務(wù)器 376
10.6.6 參考服務(wù)器 377
10.6.7 WSGI應(yīng)用示例 378
10.6.8 中間件及封裝WSGI應(yīng)用 378
10.6.9 在Python 3中使用WSGI 379
10.7 現(xiàn)實(shí)世界中的Web開發(fā) 380
10.8 相關(guān)模塊 380
10.9 練習(xí) 381
第11章 Web框架:Django 384
第12章 云計(jì)算:Google App Engine 470
第13章 Web服務(wù) 530
第3部分 補(bǔ)充/實(shí)驗(yàn)章節(jié)
第14章 文本處理 553
第15章 其他內(nèi)容 577
附錄A 部分練習(xí)參考答案 593
附錄B 參考表 597
B.1 Python關(guān)鍵字 597
B.2 Python標(biāo)準(zhǔn)操作符和函數(shù) 598
B.3 數(shù)值類型操作符和函數(shù) 599
B.4 序列類型操作符和函數(shù) 600
B.5 字符串格式化操作符轉(zhuǎn)換符號 602
B.6 字符串格式化操作符指令 603
B.7 字符串類型內(nèi)置方法 603
B.8 列表類型內(nèi)置方法 605
B.9 字典類型內(nèi)置方法 605
B.10 集合類型操作符和內(nèi)置函數(shù) 606
B.11 文件對象方法和數(shù)據(jù)屬性 607
B.12 Python異?!?08
B.13 類的特殊方法 610
B.14 Python操作符匯總 612
附錄C Python 3:一種編程語言進(jìn)化的產(chǎn)物 614
C.1 為何Python在變化 614
C.2 都發(fā)生了哪些變化 615
C.2.1 print變成了print() 615
C.2.2 字符串:默認(rèn)為Unicode編碼 616
C.2.3 單類類型 616
C.2.4 更新異常的語法 617
C.2.5 整數(shù)的更新 618
C.2.6 迭代器無處不在 619
C.3 遷移工具 619
C.3.1 2to3工具 619
C.3.2 Python 2.6+ 620
C.4 結(jié)論 620
C.5 參考資料 620
附錄D 利用Python 2.6+向Python 3遷移 622
D.1 Python 3:Python的下一代 622
D.2 整數(shù) 623
D.2.1 單整數(shù)類型 624
D.2.2 新型二進(jìn)制和改進(jìn)的八進(jìn)制字符 624
D.2.3 經(jīng)典除法或真除法 625
D.3 內(nèi)置函數(shù) 626
D.3.1 print語句或print()函數(shù) 626
D.3.2 reduce()轉(zhuǎn)移到了functools模塊中 627
D.3.3 其他更新 627
D.4 面向?qū)ο缶幊蹋簝煞N不同的類對象 628
D.5 字符串 629
D.6 異常 630
D.6.1 處理異常(使用as) 630
D.6.2 拋出異?!?30
D.7 其他轉(zhuǎn)換工具和技巧 631
D.8 編寫兼容版本2.x和3.x的代碼 632
D.8.1 對比print和print() 632
D.8.2 將你的方法導(dǎo)入解決方案中 633
D.8.3 整合在一起 634
D.9 結(jié)論 635
查看全部↓
前言/序言
歡迎各位讀者打開本書! 很高興各位讀者能夠允許我們來幫助你們盡可能快、盡可能深入地學(xué)習(xí)Python。Core Python系列圖書的目標(biāo)不只是教會開發(fā)人員Python語言,我們還希望各位讀者能夠形成足夠的知識庫,從而能夠開發(fā)任何應(yīng)用領(lǐng)域的軟件。 在我們其他的Core Python系列圖書中(Core Python Programming和Core Python Language Fundamentals),我們不僅向讀者講授Python語言的語法,還希望讀者能夠深入掌握Python的運(yùn)行機(jī)制。我們相信,在具備了這些知識之后,無論您是Python語言的初學(xué)者還是具有一定經(jīng)驗(yàn)的老兵,您都能夠開發(fā)出更為高效的Python應(yīng)用程序。 在學(xué)完任何其他入門類的Python圖書之后,您可能覺得已經(jīng)掌握了Python而且還覺得學(xué)到不錯(cuò),并為此感到自豪。通過完成大量練習(xí)之后,您將會對自己新掌握的Python編程技能擁有更多信心。但是,您可能仍然會有這樣的疑問,“現(xiàn)在該怎么辦?我能用Python編寫哪種類型的應(yīng)用程序呢?”或許您是為了一個(gè)相當(dāng)小眾的工作項(xiàng)目而學(xué)習(xí)使用Python,您可能會考慮“我還能用Python寫點(diǎn)其他的么?”?! £P(guān)于本書 在本書中,您將會用到從其他地方學(xué)習(xí)到的所有Python知識,并開發(fā)出新的技能,從而構(gòu)建自己的工具箱。借助于該工具箱,您能夠使用Python開發(fā)各種類型的應(yīng)用程序。這些高級主題章節(jié)是各種不同主題的簡介或者“速潛”(quick dives)。如果您越到了這些章節(jié)中涵蓋的特定應(yīng)用開發(fā)領(lǐng)域,您將會發(fā)現(xiàn)它們不但給您指出了正確的方向,還包含了更多的信息。但是不要期待有一個(gè)深入的解決方案,因?yàn)檫@有悖于本書的初衷——提供更為寬廣的解決方案?! ∨c所有其他Core Python圖書一樣,本書同樣包含了許多案例,您可以在計(jì)算機(jī)上進(jìn)行