Python核心編程(第3版) [Core Python Applications Programming(3rd Edition)]

Python核心編程(第3版) [Core Python Applications Programming(3rd Edition)] pdf epub mobi txt 电子书 下载 2025

[美] Wesley Chun 著,孫波翔,李斌,李晗 譯
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115414779
版次:3
商品编码:11936238
品牌:异步图书
包装:平装
外文名称:Core Python Applications Programming(3rd Edition)
开本:16开
出版时间:2016-05-01
用纸:胶版纸
页数:660
正文语种:中文

具体描述

産品特色

編輯推薦

適讀人群 :本書適閤具有一定經驗的Python開發人員閱讀
  全麵涵蓋當今應用開發中的眾多領域  為中級Python開發人員提供實踐方法  涵蓋大量實用的代碼案例  每章末尾的習題有助於鞏固所學知識
  想進一步提升Python編程水平?請深入分析真實應用程序中使用的大量相關主題  涵蓋瞭正則錶達式、Internet/網絡編程、GUI、SQL/數據庫/ORM、多綫程、Web開發  瞭解當前的開發區域,比如Google+、Twitter、MongoDB、OAuth、Python 3遷移、Java/Jython  囊括有關Django、Google App Engine、CSV/JSON/XML和Microsoft Office的全新內容。  包含Python 2和Python 3代碼,以便立即可以使用  提供瞭代碼片段、互動案例和實用練習,旨在鞏固Python技能
  Python是一種靈活、可靠且具有錶現力的編程語言,它將編譯語言的強大與腳本語言的簡潔性、快速開發特性整閤起來。在本書中,Python開發人員兼企業培訓師Wesley Chun會幫助您將Python技能提升到更高的水平。  本書涵蓋瞭成為一名技術全麵的Python開發人員所需的一切內容。本書講解瞭應用開發相關的多個領域,而且書中的內容可以立即應用到項目開發中。此外,本書還包含瞭一些使用Python 2和Python 3編寫的代碼案例,以及一些代碼移植技巧。有些代碼片段甚至無須修改就可以運行在Python 2.x或Python 3.x上。
  本書講解瞭如下內容:  學習專業的Python風格、實踐以及好的編程習慣;  使用TCP、UDP、XML-RPC來開發客戶端和服務器,並供高級的庫(比如SocketServer和Twisted)使用使用Tkinter和其他可用的工具來開發GUI應用;  通過使用C/C++編寫擴展,或者使用多綫程來編寫I/O密集型代碼,提升應用的性能;  探究QSL和關係數據庫、ORM,甚至是MongoDB這樣的非關係型(NonSQL)數據庫;  學習Web編程的基礎知識,包括Web客戶端和服務器,以及CGI和WSGI;  使用正則錶達式和強大的文本處理工具,來創建和解析CSV、JSON和XML數據;  使用COM客戶端編程與常見的Microsoft Office軟件(比如Excel、PowerPoint、Outlook)進行交互;  使用Django框架深入瞭解Web開發,以及使用Google App Engine深入瞭解雲計算;  使用Jyhon探索Java編程,以及在JVM上運行Python代碼的方式;  連接Web服務,比如連接Yahoo!Fiance獲取股票行情,或者連接Yahoo!Mail、Gmail以及其他郵件服務器來下載或發送郵件;  通過學習如何連接Twitter和Google+網絡來擁抱社交媒體的熱潮。

內容簡介

  《Python核心編程(第3版)》是經典暢銷圖書《Python核心編程(第二版)》的全新升級版本,總共分為3部分。第1部分為講解瞭Python的一些通用應用,包括正則錶達式、網絡編程、Internet客戶端編程、多綫程編程、GUI編程、數據庫編程、Microsoft Office編程、擴展Python等內容。第2部分講解瞭與Web開發相關的主題,包括Web客戶端和服務器、CGI和WSGI相關的Web編程、Django Web框架、雲計算、高級Web服務。第3部分則為一個補充/實驗章節,包括文本處理以及一些其他內容。  《Python核心編程(第3版)》適閤具有一定經驗的Python開發人員閱讀。

作者簡介

  Wesley Chun,在高中階段開始進入計算世界,當時他使用的是BASIC和6502匯編語言,係統是Commodore。隨後開始在App IIe上使用Pascal語言,然後是再在穿孔卡片上使用ForTran語言。正在在穿孔卡片上使用ForTran的經曆使他成為一名謹慎小心的開發人員,因為將一組卡片發送到學校的主機並得到返迴結果,往往需要一周的往返時間。Wesley還將一個新聞類從打字機改變為Osborne 1 CP/M計算機。他得到的首份有酬勞的工作是作為學生輔導員為四年級、五年級和六年級的學生及其父母傢講授BASIC編程課程。  高中畢業後,Wesley以加利福尼亞校友學者的身份進入加州大學伯剋利分校。他主修應用數學(計算機科學),輔修音樂(古典鋼琴),並以A級和B級的成績畢業。在學校期間,他先後使用過Pascal、Logo和C語言編寫過程序。他還參加瞭一個以錄像帶培訓和心理谘詢為特色的輔導課程。他的暑期實習項目包括以第4代編程語言編寫代碼,並編寫瞭一個“Getting Started”用戶手冊。幾年過後,他開始在加州大學聖巴拉拉分校繼續學習,並獲得瞭計算機科學(分布式係統)的碩士學位。在此期間,他還講授C編程課程。他的一片以其碩士論文為基礎的論文在第29傑HICSS大會上被提名為論文,其隨後的一個論文版本刊登在新加坡大學High Performance Computing雜誌上。  自從畢業之後,Wesley就投身於軟件行業,編寫和齣版瞭多本圖書,並且發錶瞭數百篇會議報告和教程。此外還開發瞭針對公共企業和私有企業培訓的Python課程。Wesley的Python使用經曆始於Python 1.4版本(當時Python剛剛起步),他使用Python設計瞭Yahoo!Mail拼寫檢查程序以及地址簿。他隨後成為Yahoo!People Search部門的首席工程師。在離開Yahoo!之後,他寫作瞭本書第1版,然後開始周遊世界。迴來之後,他使用Python編寫過許多程序,包括本地産品搜索程序、反垃圾郵件和防病毒郵件程序、Facebook遊戲/應用,以及許多完全不同的其他東西,比如醫生用來進行脊柱骨摺分析的軟件。  在其閑暇時間,Wesley喜歡彈鋼琴、打保齡球、打籃球、騎自行車、玩極限飛盤、打撲剋、旅行,以及與傢人共享人倫。他還是Tutor郵件列錶和PyCon這兩個Python用戶組的誌願者。他還維護著艾倫帕森斯怪物項目目錄(Alan Parsons Project Monster Discography)。在本書寫作之時,Wesley是Google的開發大使,為其雲産品背書。Wesley生活在矽榖,您可以通過@wescpy或plus.ly/wescpy來找到他。

精彩書評

  “本書簡潔而不失其技術深度,內容豐富全麵,曆史資料翔實齊全,這讓本書成為學習Python的完美教程。本書易於閱讀,以極簡的文字介紹瞭復雜的案例,同時涵蓋瞭其他同類圖書中很少涵蓋的曆史參考資料。簡而言之,本書棒極瞭!”  ——Gloria. W
  “期待已久的Core Python Programming第2版已經證明瞭本書確實值得期待——它深度與廣度齊備,其中囊括的有用練習可以幫助讀者掌握Python並付之於實踐。”  ——Alex Martelli,Python in a Nutshell作者兼Python Cookbook編輯
  “Wesley Chun的Core Python Programming一書好評如潮,而且它也證明它配得上所有的好評。我想該書是當前學習Python的圖書。在市麵上眾多的Python圖書中,我覺得Chun的這本書是好的,因此嚮大傢強烈推薦本書。”  ——David Mertz博士,IBM DeveloperWorks
  “在過去多年,我一直在從事Python的研究,發現本書獲得瞭大量的正麵評價。這些評價證實瞭這樣一個觀點,即Core Python Programming被認為是Python入門讀物事實上的標準。”  ——Richard Ozaki,Lockheed Martin公司
  “終於,一本既可以作為Python教程又可以作為Python編程語言參考的圖書問世!”  ——Michael Baxter,Linux Journal
  “本書寫作相當精良。這是我遇到的清晰、友好的Python圖書,它在一個廣闊的背景中介紹瞭Python。它仔細、深入地剖析瞭一些重要的Python主題,而且讀者無需大量的相關經驗也能看懂。與所有其他Python入門類圖書不同的是,它不會用隱晦、難以理解的文字來摺磨讀者,而是始終立足於幫助讀者牢固掌握Python的語法和結構。”  ——http://python.org bookstore Web site
  “如果我隻能有一本Python圖書的話,那它肯定是Wesley Chun著作的Core Python Programming。本書成功地涵蓋瞭Python的多個主題,其詳細程度遠甚於Learning Python一書,而且涵蓋的主題也遠非Python核心語言這麼簡單。如果你隻打算購買一本Python圖書,我強烈嚮您推薦本書。你不但會愛上本書,也會愛上本書中包含的程序員的諷刺性智慧。重要的是,您將學會Python。更更重要的是,您會發現本書會在您每日的Python編程生活中提供各種幫助。乾的不錯,Chun先生!”  ——Ron Stephens,Python Learning Foundation
  “我認為編程初學者的語言是Python,毋庸置疑!我喜歡的圖書是Core Python Programming。”  ——s003apr,MP3Car.com Forums
  “就我個人而言,我相當喜歡Pyhon。它易於學習、非常直觀、相當靈活,而且執行速度也相當快。在Windows世界中,Python雖然隻是剛嶄露頭角,但是因為越來越多的人們發現瞭它,因此選擇從Python起步可以獲得大量的支持。要學習Python,我選擇從Wesley Chun的這本Core Python Programming起步。”  ——Bill Boswell,MCSE,Microsoft Certified Professional Magazine Online
  “如果你是通過圖書來學習編程,我嚮您推薦Core Python Programming,它是目前為止我發現的Python圖書。我也是一個Python新兵,但是在3個月之後,我就可以在項目中實施Python瞭(自動處理MSOffice、SQL DB Stuff等)。”  ——ptonman,Dev Shed Forums
  “Python是一種美麗的語言。它易於學習、跨平颱,而且能夠良好運行。它已經實現瞭Java一直想要實現的很多技術目標。對Python的一句話描述是‘所有其他語言是隨著時間發生演進變化,但是Python則是設計齣來的。’而且Python設計的相當不錯。雖然現在市麵上有大量的Python圖書,但是目前為止我遇到的好的一本是Core Python Programming。”  ——Chris Timmons,C. R. Timmons Consulting
  “如果你喜歡Prentice Hall齣版社Core係列圖書,你需要考慮的另一本寫作精良的圖書是Core Python Programming。它將其他Python圖書中很少涵蓋的許多實用主題進行瞭事無巨細的剖析。”  ——Mitchell L. Model, MLM Consulting

目錄

目錄

第1部分 通用應用主題

第1章 正則錶達式 2

1.1 簡介/動機 3

1.2 特殊符號和字符 5

1.2.1 使用擇一匹配符號匹配多個正則錶達式模式 6

1.2.2 匹配任意單個字符 6

1.2.3 從字符串起始或者結尾或者單詞邊界匹配 7

1.2.4 創建字符集 8

1.2.5 限定範圍和否定 8

1.2.6 使用閉包操作符實現存在性和頻數匹配 9

1.2.7 錶示字符集的特殊字符 10

1.2.8 使用圓括號指定分組 10

1.2.9 擴展錶示法 11

1.3 正則錶達式和Python語言 11

1.3.1 re模塊:核心函數和方法 12

 1.3.2 使用compile()函數編譯正則錶達式 13

1.3.3 匹配對象以及group()和groups()方法 14

1.3.4 使用match()方法匹配字符串 14

1.3.5 使用search()在一個字符串中查找模式(搜索與匹配的對比) 15

1.3.6 匹配多個字符串 16

1.3.7 匹配任何單個字符(.) 16

1.3.8 創建字符集([ ]) 17

1.3.9 重復、特殊字符以及分組 18

1.3.10 匹配字符串的起始和結尾以及單詞邊界 20

1.3.11 使用findall()和finditer()查找每一次齣現的位置 21

1.3.12 使用sub()和subn()搜索與替換 22

1.3.13 在限定模式上使用split()分隔字符串 23

1.3.14 擴展符號 24

1.3.15 雜項 27

 1.4 一些正則錶達式示例 28

1.5 更長的正則錶達式示例 33

1.5.1 匹配字符串 35

1.5.2 搜索與匹配……還有貪婪 37

1.6 練習 39

第2章 網絡編程 42

2.1 簡介 43

2.2 客戶端/服務器架構 43

2.2.1 硬件客戶端/服務器架構 43

2.2.2 軟件客戶端/服務器架構 44

2.2.3 銀行齣納員作為服務器嗎 44

2.2.4 客戶端/服務器網絡編程 45

2.3 套接字:通信端點 46

2.3.1 套接字 46

2.3.2 套接字地址:主機-端口對 47

2.3.3 麵嚮連接的套接字與無連接的套接字 47

2.4 Python中的網絡編程 48

2.4.1 socket()模塊函數 49

2.4.2 套接字對象(內置)方法 49

2.4.3 創建TCP服務器 51

2.4.4 創建TCP客戶端 54

2.4.5 執行TCP服務器和客戶端 56

2.4.6 創建UDP服務器 58

2.4.7 創建UDP客戶端 59

2.4.8 執行UDP服務器和客戶端 60

2.4.9 socket模塊屬性 61

2.5 *SocketServer模塊 62

2.5.1 創建SocketServer TCP服務器 63

2.5.2 創建SocketServer TCP客戶端 64

2.5.3 執行TCP服務器和客戶端 65

2.6 *Twisted框架介紹 66

2.6.1 創建Twisted Reactor TCP服務器 66

2.6.2 創建Twisted Reactor TCP客戶端 67

2.6.3 執行TCP服務器和客戶端 69

2.7 相關模塊 69

2.8 練習 70

第3章 因特網客戶端編程 74

3.1 因特網客戶端簡介 75

3.2 文件傳輸 75

3.2.1 文件傳輸因特網協議 75

3.2.2 文件傳輸協議 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的其他內容 80

3.3 網絡新聞 81

3.3.1 Usenet與新聞組 81

3.3.2 網絡新聞傳輸協議 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的其他內容 89

3.4 電子郵件 90

3.4.1 電子郵件係統組件和協議 90

3.4.2 發送電子郵件 91

3.4.3 Python和SMTP 92

3.4.4 smtplib.SMTP類方法 92

3.4.5 交互式SMTP示例 93

3.4.6 SMTP的其他內容 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 實戰 102

3.5.1 生成電子郵件 102

3.5.2 解析電子郵件 104

3.5.3 基於Web的雲電子郵件服務 105

3.5.4 最佳實踐:安全、重構 106

3.5.5 Yahoo! Mail 108

3.5.6 Gmail 112

3.6 相關模塊 115

3.6.1 電子郵件 115

3.6.2 其他因特網客戶端協議 115

3.7 練習 116

第4章 多綫程編程 122

4.1 簡介/動機 123

4.2 綫程和進程 124

4.2.1 進程 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模塊的其他函數 139

4.6 單綫程和多綫程執行對比 140

4.7 多綫程實踐 142

4.7.1 圖書排名示例 142

4.7.2 同步原語 149

4.7.3 鎖示例 149

4.7.4 信號量示例 156

4.8 生産者-消費者問題和Queue/queue模塊 159

4.9 綫程的替代方案 162

4.9.1 subprocess模塊 163

4.9.2 multiprocessing模塊 163

4.9.3 concurrent.futures模塊 163

4.10 相關模塊 165

4.11 練習 165

第5章 GUI編程 168

5.1 簡介 169

5.1.1 Tcl、Tk和Tkinter 169

5.1.2 安裝和使用Tkinter 170

5.1.3 客戶端/服務端架構 170

5.2 Tkinter和Python編程 170

5.2.1 Tkinter模塊:添加Tk到應用中 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 偏函數應用示例 178

5.3.6 中級Tkinter示例 180

5.4 其他GUI簡介 185

5.4.1 Tk接口擴展(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 相關模塊和其他GUI 194

5.6 練習 196

第6章 數據庫編程 198

6.1 簡介 199

6.1.1 持久化存儲 199

6.1.2 數據庫基本操作和SQL 199

6.1.3 數據庫和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 類型對象和構造函數 207

6.2.5 關係數據庫 209

6.2.6 數據庫和Python:適配器 210

6.2.7 使用數據庫適配器的示例 210

6.2.8 數據庫適配器示例應用 215

6.3 ORM 226

6.3.1 考慮對象,而不是SQL 227

6.3.2 Python和ORM 227

6.3.3 員工角色數據庫示例 228

6.3.4 SQLAlchemy 229

6.3.5 SQLObject 240

6.4 非關係數據庫 245

6.4.1 NoSQL介紹 245

6.4.2 MongoDB 246

6.4.3 PyMongo:MongoDB和Python 246

6.4.4 總結 250

6.5 相關文獻 250

6.6 練習 252

第7章 *Microsoft Office編程 256

7.1 簡介 257

7.2 使用Python進行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 總結 280

7.5 相關模塊/包 281

7.6 練習 281

第8章 擴展Python 286

8.1 簡介和動機 287

8.1.1 Python擴展簡介 287

8.1.2 什麼情況下需要擴展Python 288

8.1.3 什麼情況下不應該擴展Python 288

8.2 編寫Python擴展 289

8.2.1 創建應用代碼 289

8.2.2 根據樣闆編寫封裝代碼 291

8.2.3 編譯 296

8.2.4 導入並測試 297

8.2.5 引用計數 300

8.2.6 綫程和全局解釋器鎖 301

8.3 相關主題 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 練習 304

第2部分 Web開發

第9章 Web客戶端和服務器 306

9.1 簡介 307

9.1.1 Web應用:客戶端/服務器計算 307

9.1.2 因特網 308

9.2 Python Web客戶端工具 310

9.2.1 統一資源定位符 310

9.2.2 urlparse模塊 312

9.2.3 urllib模塊/包 313

9.2.4 使用urllib2 HTTP驗證的示例 317

9.2.5 將HTTP驗證示例移植到Python 3中 319

9.3 Web客戶端 322

9.3.1 一個簡單的Web爬蟲/蜘蛛/機器人 322

9.3.2 解析Web頁麵 328

9.3.3 可編程的Web瀏覽 333

9.4 Web(HTTP)服務器 336

9.5 相關模塊 339

9.6 練習 341

第10章 Web編程:CGI和WSGI 345

10.1 簡介 346

10.2 幫助Web服務器處理客戶端數據 346

10.2.1 CGI簡介 346

10.2.2 CGI應用程序 347

10.2.3 cgi模塊 348

10.2.4 cgitb模塊 348

10.3 構建CGI應用程序 349

10.3.1 構建Web服務器 349

10.3.2 建立錶單頁 351

10.3.3 生成結果頁麵 352

10.3.4 生成錶單和結果頁麵 353

10.3.5 全麵交互的Web站點 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 動機(替代CGI) 373

10.6.2 服務器集成 374

10.6.3 外部進程 374

10.6.4 WSGI簡介 375

10.6.5 WSGI服務器 376

10.6.6 參考服務器 377

10.6.7 WSGI應用示例 378

10.6.8 中間件及封裝WSGI應用 378

10.6.9 在Python 3中使用WSGI 379

10.7 現實世界中的Web開發 380

10.8 相關模塊 380

10.9 練習 381

第11章 Web框架:Django 384


第12章 雲計算:Google App Engine 470


第13章 Web服務 530


第3部分 補充/實驗章節

第14章 文本處理 553


第15章 其他內容 577


附錄A 部分練習參考答案 593

附錄B 參考錶 597

B.1 Python關鍵字 597

B.2 Python標準操作符和函數 598

B.3 數值類型操作符和函數 599

B.4 序列類型操作符和函數 600

B.5 字符串格式化操作符轉換符號 602

B.6 字符串格式化操作符指令 603

B.7 字符串類型內置方法 603

B.8 列錶類型內置方法 605

B.9 字典類型內置方法 605

B.10 集閤類型操作符和內置函數 606

B.11 文件對象方法和數據屬性 607

B.12 Python異常 608

B.13 類的特殊方法 610

B.14 Python操作符匯總 612

附錄C Python 3:一種編程語言進化的産物 614

C.1 為何Python在變化 614

C.2 都發生瞭哪些變化 615

C.2.1 print變成瞭print() 615

C.2.2 字符串:默認為Unicode編碼 616

C.2.3 單類類型 616

C.2.4 更新異常的語法 617

C.2.5 整數的更新 618

C.2.6 迭代器無處不在 619

C.3 遷移工具 619

C.3.1 2to3工具 619

C.3.2 Python 2.6+ 620

C.4 結論 620

C.5 參考資料 620

附錄D 利用Python 2.6+嚮Python 3遷移 622

D.1 Python 3:Python的下一代 622

D.2 整數 623

D.2.1 單整數類型 624

D.2.2 新型二進製和改進的八進製字符 624

D.2.3 經典除法或真除法 625

D.3 內置函數 626

D.3.1 print語句或print()函數 626

D.3.2 reduce()轉移到瞭functools模塊中 627

D.3.3 其他更新 627

D.4 麵嚮對象編程:兩種不同的類對象 628

D.5 字符串 629

D.6 異常 630

D.6.1 處理異常(使用as) 630

D.6.2 拋齣異常 630

D.7 其他轉換工具和技巧 631

D.8 編寫兼容版本2.x和3.x的代碼 632

D.8.1 對比print和print() 632

D.8.2 將你的方法導入解決方案中 633

D.8.3 整閤在一起 634

D.9 結論 635


前言/序言

  歡迎各位讀者打開本書!  很高興各位讀者能夠允許我們來幫助你們盡可能快、盡可能深入地學習Python。Core Python係列圖書的目標不隻是教會開發人員Python語言,我們還希望各位讀者能夠形成足夠的知識庫,從而能夠開發任何應用領域的軟件。  在我們其他的Core Python係列圖書中(Core Python Programming和Core Python Language Fundamentals),我們不僅嚮讀者講授Python語言的語法,還希望讀者能夠深入掌握Python的運行機製。我們相信,在具備瞭這些知識之後,無論您是Python語言的初學者還是具有一定經驗的老兵,您都能夠開發齣更為高效的Python應用程序。  在學完任何其他入門類的Python圖書之後,您可能覺得已經掌握瞭Python而且還覺得學到不錯,並為此感到自豪。通過完成大量練習之後,您將會對自己新掌握的Python編程技能擁有更多信心。但是,您可能仍然會有這樣的疑問,“現在該怎麼辦?我能用Python編寫哪種類型的應用程序呢?”或許您是為瞭一個相當小眾的工作項目而學習使用Python,您可能會考慮“我還能用Python寫點其他的麼?”。  關於本書  在本書中,您將會用到從其他地方學習到的所有Python知識,並開發齣新的技能,從而構建自己的工具箱。藉助於該工具箱,您能夠使用Python開發各種類型的應用程序。這些高級主題章節是各種不同主題的簡介或者“速潛”(quick dives)。如果您越到瞭這些章節中涵蓋的特定應用開發領域,您將會發現它們不但給您指齣瞭正確的方嚮,還包含瞭更多的信息。但是不要期待有一個深入的解決方案,因為這有悖於本書的初衷——提供更為寬廣的解決方案。  與所有其他Core Python圖書一樣,本書同樣包含瞭許多案例,您可以在計算機上進行嘗試。為瞭牢固掌握概念,您也會在每章後發現有趣、有挑戰性的練習。這些入門級和中級難度的練習旨在測試您的知識掌握情況,提升您的Python技能。畢竟,沒有什麼可以替代實踐經驗。我們相信,您不但能夠學到很多Python編程技能,同時也能在盡可能短的時間內迅速掌握它們。  對我們來講,擴展Python技能的佳方式就是動手練習,因此您會發現這些練習是本書的一個大優勢。它們可以測試您對每章主題和定義的掌握情況,以及激勵您盡可能多的動手編程。除瞭自己編寫應用程序之外,沒有其他方法可以更有效地提升您的編程技能。您需要解決入門級、中級難度和高級難度的編程問題。而且您應該需要編寫一個大型的應用程序(這也是很多讀者想要在本書中看到的),而不是采用一些腳本來實現。坦白說,您可能做的沒有那麼好,但是通過親自動手實踐,您的收獲會更大。附錄A給齣瞭每章中某些問題的答案。附錄B中包含瞭一些有用的參考錶。  感謝所有讀者的反饋和鼓勵,你們是我寫作這些圖書的動力。希望你們能繼續給我發送反饋信息,並促使本書第4版盡快問世,而且其質量優於之前所有版本。  本書讀者對象  如果您之前瞭解Python,並且希望進一步瞭解Python,同時希望擴展自己的應用程序開發技能,您就是本書的讀者對象。  Python在眾多領域中都可見其身影,包括工程領域、信息技術領域、科學領域、商業和娛樂領域等。這意味著Python用戶(和本書的讀者)列錶包括但不限於下述人員:   軟件工程師;   硬件設計/CAD工程師;   QA/測試和自動化框架開發人員;   IS/IT/係統和網絡管理員;   科學傢和數學傢;   技術或項目管理人員;   多媒體或音頻/視覺工程師;   SCM或發布工程師;   Web大師或內容管理人員;   客戶/技術支持工程師;   數據庫工程師和管理員;   研發工程師;   軟件集成和專業服務人員;   大學及中學教育工作者;   Web服務工程師;   金融軟件工程師;   其他人員。  使用Python的一些著名公司包括Google、Yahoo!、NASA、盧卡斯工業光魔公司、Red Hat、Zope、迪斯尼、皮剋斯和夢工廠。  作者與Python  大約10多年以前,我在一傢名為Four11的公司發現瞭Python。當時,該公司有一個主要的産品——Four11.com White Page目錄服務。它們使用Python來說設計該産品的下一代:Rocketmail Web E-mail服務,該服務終演變為今天的Yahoo!Mail。  學習Python並加入初的Yahoo!Mail工程團隊是一件相當有趣的事情。我幫助重新設計瞭地址簿和拼寫檢查程序。在當時,Python也成為其他Yahoo!站點的一部分,其中包括People Search、Yellow Pages、Maps和Driving Directions,等等等等。事實上,我當時是People Search的首席工程師。  盡管在當時Python對我而言是全新的,但是它也很容易學習——要比我過去學習的其他語言都要簡單。在當時,Python教程的缺乏迫使我使用Library Reference和Quick Reference Guide作為主要的學習工具,而這也是促使我寫作本書的一個驅動力。  從我在Yahoo!的日子開始,我能夠以各種有趣的方式在隨後的工作中使用Python。在任何情況下,我都能使用Python的強大功能來及時地解決遇到的問題。我也開發瞭多個Python課程,並使用本書來講授那些類——完全吃瞭自己的狗食(truly eating my own dogfood)。  Core Python圖書不僅是卓越的Python學習設備,它們也是用來講解Python的佳工具。作為一名工程師,我知道學習、理解和應用一種新技術所需要的東西。作為一名專業講師,我也知道為客戶提供有效的會話(session)所需要的是什麼。這些圖書提供瞭必要的經驗,能夠讓你與真實世界進行類比,也提供瞭您無法從“純粹的培訓講師”或“純粹的圖書作者”那裏獲得的提示。  對本書寫作風格的期待:以講解技術為主,同時容易閱讀  不同於嚴格的“初學者”圖書或者純粹的“重口味”計算機科學參考圖書,我過去的教學經驗告訴我,一本易於閱讀同時又麵嚮技術的圖書應該服務於這樣的一個目的,即能夠讓人盡可能迅速地掌握Python,以便能將其應用到十萬火急的任務上來。我們在介紹概念時會輔之以閤適的案例,以加速學習過程。在每章後你都會發現大量的練習,它們的目的是用來夯實你對書中概念和理念的理解。  能夠與Bruce Eckel的寫作風格相提並論,我們很激動也很謙卑(見本書第1版的評論,地址為http://corepython.com)。本書並非一本枯燥的大學教程,我們的目標是營造一個與您交談的環境,就像您是在參加我的一個廣受好評的Python培訓課程一樣。作為一名終身學習的學生,我不斷地因材施教,告訴您需要學習什麼纔能快速、徹底地掌握Python的概念。您也將發現,可以快速容易的閱讀本書,而且不會錯失任何技術細節。  作為一名工程師,我知道應該怎樣做纔能嚮您講授Python中的概念。作為一名教師,我可以將技術細節全部打散,然後轉換成一種易於理解和迅速掌握的語言。您將從我的寫作風格和教學風格中獲益,更重要的是,您會喜歡上用Python來編程。  因此,您也將注意到,盡管我是本書唯一的作者,但是我使用的是“第三人稱”的寫作結構,也就是說,我使用瞭諸如“我們”這樣的一些廢話,原因是在學習本書的過程中,我們是一起的,共同朝著擴展Python編程技能的目標而努力。  關於本書第3版  在本書第1版剛問世時,Python剛發布瞭2.0版本。從那時起,Python語言發生瞭重大的改進,使得Python語言被越來越多的人接受,其使用率也大幅提升。Python編程語言大獲成功。Python語言的缺陷已被刪除,而且有新的特性不斷加入,這將全世界Python開發人員的能力和編程修養提升到瞭一個新的水平。本書第2版於2006年問世,當時也是Python的鼎盛時期,它的版本是迄今為止為流行的2.5版本。  本書第2版問世之後好評如潮,其銷量超過瞭第1版。在那期間,Python本身也贏得瞭無數榮譽,包括下麵這些。   Tiobe(www.tiobe.com)  —年度編程語言(2007年、2010年)   LinuxJournal(linuxjournal.com)  —喜歡的編程語言(2009年~2011年)  —喜歡的腳本語言(2006年~2008年、2010年、2011年)   LinuxQuestions.org會員選擇奬  —年度編程語言(2007年~2010年)  這些奬項和榮譽推動著Python進一步發展。現在,Python已經進入瞭下一代:Python 3。同樣,Core Python Programming也在嚮著其“第三代”前進。我非常高興Prentice Hall能夠讓我寫作本書第3版。由於Python 3.x版本能夠後嚮兼容Python1 和Python 2,因此Python 3.x還需要一段時間,纔能被去業界全麵采用和集成進來。我們很樂意引導您經曆這個過渡。本書第3版的代碼也可以適用於Python 2和Python 3(視情況而定——並非所有代碼都移植瞭過來)。在代碼移植時,我們還會討論各種工具和做法。  Python 3.x版本帶來的挑戰延續著對Python編程語言進行迭代和改進的趨勢,要移除Python語言後的重大缺陷還有很長的路要走,而且移除重大缺陷在不斷演變的Python語言中也是一個相當大的飛躍。與之相似,本書的結構也做齣瞭相當重大的轉變。限於篇幅和範圍,已有的Core Python Programming無法處理第3版中引入的所有新內容。  因此,Prentice Hall和我想到瞭一個好方法來嚮前推進本書,即從邏輯上將其拆分為兩部分,其中一部分錶示Python核心語言主題,另一部分錶示高級應用主題,並由此將書拆分為兩捲。而您手頭上當前拿著的這本書是Core Python Programming第3版的第2部分。好消息是由於第2部分的內容已經相當完整齊備,因此第1部分的內容也就沒有存在的必要瞭。要閱讀本書,我們建議讀者能夠擁有Python中級編程經驗。如果您近已經學過Python,而且能夠相當輕鬆地駕馭它,或者是您已經具備Python技能,但是希望能進一步提升其技能,那麼您算是找對圖書瞭。  Core Python Programming的讀者都知道,我的主要目標是以一種全麵的方式來講解Python語言的本質,而非僅僅是其語法(學習Python的語法也不需要一本書,對吧!)。在知道瞭Python的工作機製之後——包括數據對象和內存管理之間的關係——你將成為一名更高效的Python程序員。而這是第1部分(即Core Python Language Fundamentals)要做的工作。  與本書所有版本一樣,我會繼續更新圖書的Web站點以及博客,以確保無論您移植到哪個新發布的Python版本,都可以讓本書做到與時俱進。  對之前的讀者來說,當前版本的圖書新增瞭下述主題:   基於Web的E-mail示例(第3章);   使用Tile/Ttk(第5章);   使用MongoDB(第6章);   更重要的Outlook和PowerPoint示例(第7章);   Web服務器網關接口(WSGI)(第10章);   使用Twitter(第13章);   使用Google+(第15章)。  此外,我們還在當前版本中添加瞭3個全新的章節,分彆是第11章、第12章和第14章。這些章節代錶著經常使用Python進行應用開發的一些新領域或正在進行的領域。所有的現有章節已經進行瞭全麵革新,並更新到Python的新版本,同時還包含瞭一些新內容。通過隨後的“章節指南”部分,您可以瞭解到本書每部分要講解的內容。  章節指南  本書分為3部分。其中第1部分占據瞭本書2/3的篇幅,它講解瞭應用開發工具箱中(當然,Python是關注重點)“核心”成員的解決方案。第2部分講解瞭與Web編程相關的各種主題。第3部分是補充部分,它提供瞭一些仍然在開發過程中的實驗章節,在本書後續版本中, 這些章節有望成為獨立的章節。  本書提供瞭一些高級主題,以嚮讀者展示Python可以用來開發什麼應用程序。值得我們高興的是,我們起碼可以嚮您提供Python開發中許多關鍵領域的入門知識,其中包括之前版本中提到的一些主題。  下麵是本書每章的內容簡介。  第1部分:通用應用主題  第1章:正則錶達式  正則錶達式是一種功能強大的工具,可以用來進行模式匹配、提取、查找和替換功能。  第2章:網絡編程  如今許多應用都是麵嚮網絡的。在本章,您將使用TCP/IP和UDP/IP來創建客戶端和服務器,同時學習SocketServer和Twisted等知識。  第3章:Internet客戶端編程  如今在用的大多數Internet協議都是使用socket開發的。在本章,我們將來探究一些用來構建Internet協議客戶端的高級庫。我們重點關注的是FTP、Usenet消息協議(NNTP)以及各種E-mail協議(SMTP、POP3、IMAP4)。  第4章:多綫程編程  多綫程編程是一種通過引入並發來提升多種應用程序執行性能的方式。本章通過解釋概念並展示正確創建Python多綫程應用程序的方法、什麼是佳用例來講解如何在Python中實施綫程。  第5章:GUI編程  Kinter(在Python 3中被重名為tkinter)以Tk圖形工具箱為基礎,是Python中的默認GUI開發庫。本章通過演示如何創建簡單的GUI應用來嚮讀者介紹Tkinter。一種佳的學習方式是復製,並在某些應用的頂層之上進行創建,這樣可以很快上手。本章後簡要討論瞭其他圖形庫,比如Tix、Pmw、wxPython、PyGTK和Ttk/Tile。  第6章:數據庫編程  Python也有助於簡化數據庫編程。本章首先迴顧一些基本的概念,然後介紹Python數據庫應用編程接口(DB-API)。隨後介紹如何使用Python連接到一個關係數據庫,並執行查詢和操作。如果你更喜歡使用瞭結構化查詢語言(SQL)的放手管理方法(hands-off approach),而且隻是想在無需考慮底層數據庫層的情況下處理對象,則可以使用對象-關係映射。後,本章以MongoDB作為我們的NoSQL案例介紹瞭非關係數據庫。  第7章:Microsoft Office編程  無論喜歡與否,我們都生活在一個不得不和Microsoft Windows PC打交道的世界。我們可能偶爾與它們打交道,也可能每天都要接觸到它們,但是哪種情況,都可以使用Python的強大功能來讓生活更輕鬆一些。在本章,我們將探究使用Python來編寫COM客戶端,以控製並與Office應用程序(比如Word、Excel、PowerPoint和Outlook)進行通信。盡管本章在本書之前版本中是實驗章節,但是我們很高興能夠為其添加足夠的內容,使其單獨成章。  第8章:擴展Python  前麵我們提到,能夠重用代碼並對語言進行擴展將具有相當強大的功能。在純Python中,這些擴展是模塊和包,但是您也可以使用C/C++、C#或Java來開發底層的代碼。這些擴展能夠以無縫方式與Python相接。以低級編程語言來編寫自己的擴展可以提升性能,並增強安全性(因為源代碼沒有必要泄露)。本章將講解使用C語言來開發擴展的整個過程。  第2部分:Web開發  第9章:Web客戶端和服務器  本章將擴展第2章討論的客戶端/服務器架構,我們將這一概念應用到Web上。在本章,我們不但探究客戶端,還將探究用來解析Web內容的各種Web客戶端工具。後,本章介紹瞭如何使用Python來定製自己的Web服務器。  第10章:Web編程:CGI和WSGI  Web服務器的主要工作是接受客戶端的請求,然後返迴結果。但時服務器如何獲得客戶端的請求數據呢?由於服務器隻擅長返迴結果,因此通常沒有獲取數據的能力或邏輯,因此這個工作需要在他處完成。CGI給瞭服務器生成另外一個程序的能力,讓這個程序來進行數據處理(長久以來也是一直這麼做的),但是該程序不具備擴展性,因此並不會在實踐中使用。但是,無論使用的是什麼框架,這一概念仍然適用,因此我們將用一章的篇幅來學習CGI。您還將在本章學到WSGI如何通過通用編程接口來為應用開發人員提供幫助。此外,您將還學到,當框架開發人員需要在一端連接Web服務器,而應用程序的代碼放在另外一端時,WSGI如何來提供幫助,以便應用開發人員能夠在無需擔心執行平颱的情況下編寫代碼。  第11章:Web框架:Django  Python有很多Web框架,其中的Django是其中為流行的一個。本章將介紹這個框架,然後介紹如何編寫簡單的Web應用。在具備瞭這些知識後,您可以自行研究其他Web框架。  第12章:雲計算:Google App Engine  雲計算在IT業界引發瞭轟動。盡管像Amazon的AWS這樣的基礎設施服務和Gmail、Yahoo!Mail這樣的在綫應用等在當今世界中更為常見,但是有很多平颱憑藉其強大的功能,成為這些服務的替代者。這些平颱充分利用瞭基礎設施,無需用戶介入,而且要比雲軟件具有更多的靈活性,原因是您可以控製自行控製應用及其代碼。本章將全麵介紹使用Python的個平颱服務——Google App Egnine。在掌握瞭本章的內容後,您可以本章介紹的其他類似服務。  第13章:Web服務  在本章,我們將學習Web上的高級服務(使用HTTP)。我們先來看一個較為古老的服務(Yahoo!Finance),然後再看一個較新的服務(Twitter)。你將學到如何使用Python以及前文學到的知識來與這些服務進行交互。  第3部分:補充/實驗章節  第14章:文本處理  這是本書的個補充章節,它介紹瞭使用Python來處理文本的方法。本章先介紹瞭CSV,然後是JSON,後是XML。在本章後一節,我們將前麵學到的客戶端/服務器知識結閤到XML中,以查看如何使用XML-RPC來創建在綫的遠程過程調用(RPC)。  第15章:其他內容  本章包含瞭一些附加材料,這些內容可能會在本書下一版中成為單獨的章節。本章討論的主題包含Java/Jython和Google+。

用户评价

评分

虽说今天下雨了,但是有两层塑料包装啊,一个是京东的塑料包装,一个是书自带的塑封,怎么还进水了,看图!

评分

刚决定自学 python 的时候,这个帖子的所有回答都看过,上面提到的书基本都研究过,但并没有一本书我觉得是最合适的。

评分

非常感谢京东商城给予的优质的服务,从仓储管理、物流

评分

书还没学习呢 真羡慕学生党 可以安心好好看书

评分

爬虫的经典著作,这本书有点难,不适合初学者,适合有一定基础的,爬虫编程人员,书很厚,质量也不错啊,作为收藏来用的,如果平常用的话,还是在网上搜索,代码一搜一大堆。

评分

讲的比较详细,上手入门还是可以的,期待进步

评分

这本书,怎么说呢,英文版没有看过,但是就我看的中文版来说……质量不是太高,大家可以慎重考虑一下。入门感觉还可以,但是从排版到翻译,简直是错漏百出。引用的代码有很多错误,要不就是输出不对,要不就是下面的讲解不符。翻译的话质量不是太好(抱歉不是针对译者),有很多地方能够感觉到没有摆脱英语的语序和语言习惯,与汉语习惯不符,读起来很是拗口,不知所云。不知道编辑在干什么,在异步社区提交勘误之后,关于翻译语法语序的内容被拒绝了,但还是有那么些勘误通过了。这三天总共看了106页,总共提交了19个勘误(有两个问题被拒绝之后重复提交然后通过的,包括翻译的问题,不过翻译的问题提了两个没通过就没再提交过相关了)。说实话平均不到十页一个错,看起来真心累。一开始还有点兴奋看一本书送一本书,但是现在感觉如果异步都是这个水平的书,送我我都不想要……附录B部分我是真心没看懂在表达什么……

评分

这次活动超级给力,满减很足,所以买了不少书

评分

书还没学习呢 真羡慕学生党 可以安心好好看书

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有