關于我們
書單推薦
新書推薦
|
Python核心編程 第3版 英文版
《Python核心編程(第3版)英文版》是經典暢銷圖書《Python核心編程(第二版)》的全新升級版本,總共分為3部分。第1部分為講解了Python的一些通用應用,包括正則表達式、網絡編程、Internet客戶端編程、多線程編程、GUI編程、數據庫編程、Microsoft Office編程、擴展Python等內容。第2部分講解了與Web開發(fā)相關的主題,包括Web客戶端和服務器、CGI和WSGI相關的Web編程、Django Web框架、云計算、高級Web服務。第3部分則為一個補充/實驗章節(jié),包括文本處理以及一些其他內容。
《Python核心編程(第3版)英文版》適合具有一定經驗的Python開發(fā)人員閱讀。
全面涵蓋當今應用開發(fā)中的眾多領域
為中級Python開發(fā)人員提供實踐方法
涵蓋大量實用的代碼案例
每章末尾的習題有助于鞏固所學知識
Python是一種靈活、可靠且具有表現力的編程語言,它將編譯語言的強大與腳本語言的簡潔性、快速開發(fā)特性整合起來。在本書中,Python開發(fā)人員兼企業(yè)培訓師Wesley Chun會幫助您將Python技能提升到更高的水平。
本書涵蓋了成為一名技術全面的Python開發(fā)人員所需的一切內容。本書講解了應用開發(fā)相關的多個領域,而且書中的內容可以立即應用到項目開發(fā)中。此外,本書還包含了一些使用Python 2和Python 3編寫的代碼案例,以及一些代碼移植技巧。有些代碼片段甚至無須修改就可以運行在Python 2.x或Python 3.x上。
本書講解了如下內容:
學習專業(yè)的Python風格、實踐以及好的編程習慣;
使用TCP、UDP、XML-RPC來開發(fā)客戶端和服務器,并供高級的庫(比如SocketServer和Twisted)使用使用Tkinter和其他可用的工具來開發(fā)GUI應用;
通過使用C/C++編寫擴展,或者使用多線程來編寫I/O密集型代碼,提升應用的性能;
探究QSL和關系數據庫、ORM,甚至是MongoDB這樣的非關系型(NonSQL)數據庫;
學習Web編程的基礎知識,包括Web客戶端和服務器,以及CGI和WSGI;
使用正則表達式和強大的文本處理工具,來創(chuàng)建和解析CSV、JSON和XML數據;
使用COM客戶端編程與常見的Microsoft Office軟件(比如Excel、PowerPoint、Outlook)進行交互;
使用Django框架深入了解Web開發(fā),以及使用Google App Engine深入了解云計算;
使用Jyhon探索Java編程,以及在JVM上運行Python代碼的方式;
連接Web服務,比如連接Yahoo!Fiance獲取股票行情,或者連接Yahoo!Mail、Gmail以及其他郵件服務器來下載或發(fā)送郵件;
通過學習如何連接Twitter和Google+網絡來擁抱社交媒體的熱潮。
Wesley Chun在高中階段開始進入計算世界,當時他使用的是BASIC和6502匯編語言,系統(tǒng)是Commodore。隨后開始在App IIe上使用Pascal語言,然后是再在穿孔卡片上使用ForTran語言。正在在穿孔卡片上使用ForTran的經歷使他成為一名謹慎小心的開發(fā)人員,因為將一組卡片發(fā)送到學校的主機并得到返回結果,往往需要一周的往返時間。Wesley還將一個新聞類從打字機改變?yōu)镺sborne 1 CP/M計算機。他得到的有酬勞的工作是作為學生輔導員為四年級、五年級和六年級的學生及其父母家講授BASIC編程課程。
高中畢業(yè)后,Wesley以加利福尼亞校友學者的身份進入加州大學伯克利分校。他主修應用數學(計算機科學),輔修音樂(古典鋼琴),并以A級和B級的成績畢業(yè)。在學校期間,他先后使用過Pascal、Logo和C語言編寫過程序。他還參加了一個以錄像帶培訓和心理咨詢?yōu)樘厣妮o導課程。他的暑期實習項目包括以第4代編程語言編寫代碼,并編寫了一個“Getting Started”用戶手冊。幾年過后,他開始在加州大學圣巴拉拉分校繼續(xù)學習,并獲得了計算機科學(分布式系統(tǒng))的碩士學位。在此期間,他還講授C編程課程。他的一片以其碩士論文為基礎的論文在第29杰HICSS大會上被提名為論文,其隨后的一個論文版本刊登在新加坡大學High Performance Computing雜志上。
自從畢業(yè)之后,Wesley就投身于軟件行業(yè),編寫和出版了多本圖書,并且發(fā)表了數百篇會議報告和教程。此外還開發(fā)了針對公共企業(yè)和私有企業(yè)培訓的Python課程。Wesley的Python使用經歷始于Python 1.4版本(當時Python剛剛起步),他使用Python設計了Yahoo!Mail拼寫檢查程序以及地址簿。他隨后成為Yahoo!People Search部門的首席工程師。在離開Yahoo!之后,他寫作了本書第1版,然后開始周游世界。回來之后,他使用Python編寫過許多程序,包括本地產品搜索程序、反垃圾郵件和防病毒郵件程序、Facebook游戲/應用,以及許多完全不同的其他東西,比如醫(yī)生用來進行脊柱骨折分析的軟件。
在其閑暇時間,Wesley喜歡彈鋼琴、打保齡球、打籃球、騎自行車、玩極限飛盤、打撲克、旅行,以及與家人共享人倫。他還是Tutor郵件列表和PyCon這兩個Python用戶組的志愿者。他還維護著艾倫帕森斯怪物項目目錄(Alan Parsons Project Monster Discography)。在本書寫作之時,Wesley是Google的開發(fā)大使,為其云產品背書。Wesley生活在硅谷,您可以通過@wescpy或plus.ly/wescpy來找到他。
Part I General Application Topics 1
第1部分 通用應用主題 Chapter 1 Regular Expressions 2 第1章 正則表達式 1.1 Introduction/Motivation / 引言/動機 3 1.2 Special Symbols and Characters / 特殊的符號和字符 6 1.3 Regexes and Python / 正則表達式和Python語言 16 1.4 Some Regex Examples 一些正則表達式示例 36 1.5 A Longer Regex Example更長的正則表達式示例 41 1.6 Exercises / 練習 48 Chapter 2 Network Programming 53 第2章 網絡編程 2.1 Introduction / 前言 54 2.2 What Is Client/Server Architecture? / 客戶端/服務器網絡編程 54 2.3 Sockets: Communication Endpoints / 套接字:通信端點 58 2.4 Network Programming in Python / Python中的網絡編程 61 2.5 *The SocketServer Module / SocketServer模塊 79 2.6 *Introduction to the Twisted Framework / *Twisted框架介紹 84 2.7 Related Modules / 相關模塊 88 2.8 Exercises / 練習 89 Chapter 3 Internet Client Programming 94 第3章 Internet客戶端編程 3.1 What Are Internet Clients? / 什么是Internet客戶端? 95 3.2 Transferring Files / 文件傳輸 96 3.3 Network News / 網絡新聞 104 3.4 E-Mail / 電子郵件 114 3.5 Related Modules / 相關模塊 146 3.6 Exercises / 練習 148 Chapter 4 Multithreaded Programming 156 第4章 多線程編程 4.1 Introduction/Motivation / 簡介/動機 157 4.2 Threads and Processes / 線程和進程 158 4.3 Threads and Python / 線程和Python 160 4.4 The thread Module / thread模塊 164 4.5 The threading Module / threading模塊 169 4.6 Comparing Single vs. Multithreaded Execution / 單線程和多線程執(zhí)行對比 180 4.7 Multithreading in Practice / 多線程實踐 182 4.8 Producer-Consumer Problem and the Queue/queue Module / 生產者-消費者問題和Queue/queue模塊 202 4.9 Alternative Considerations to Threads / 線程的替代方案 206 4.10 Related Modules / 相關模塊 209 4.11 Exercises / 練習 210 Chapter 5 GUI Programming 213 第5章 GUI編程 5.1 Introduction / 簡介 214 5.2 Tkinter and Python Programming / Tkinter和Python編程 216 5.3 Tkinter Examples / Tkinter示例 221 5.4 A Brief Tour of Other GUIs / 其他GUI簡介 236 5.5 Related Modules and Other GUIs / 相關模塊和其他GUI 247 5.6 Exercises / 練習 250 Chapter 6 Database Programming 253 第6章 數據庫編程 6.1 Introduction / 簡介 254 6.2 The Python DB-API / Python的DB-API 259 6.3 ORMs / 對象關系映射(ORM) 289 6.4 Non-Relational Databases / 非關系型數據庫 309 6.5 Related References / 相關文獻 316 6.6 Exercises / 練習 319 Chapter 7 *Programming Microsoft Office 324 第7章 *Microsoft Office編程 7.1 Introduction / 簡介 325 7.2 COM Client Programming with Python / 使用Python進行 COM客戶端編程 326 7.3 Introductory Examples / 入門示例 328 7.4 Intermediate Examples / 中級示例 338 7.5 Related Modules/Packages / 相關模塊/包 357 7.6 Exercises / 練習 357 Chapter 8 Extending Python 364 第8章 擴展Python 8.1 Introduction/Motivation / 簡介和動機 365 8.2 Extending Python by Writing Extensions / 編寫Python擴展 368 8.3 Related Topics / 相關主題 384 8.4 Exercises / 練習 388 Part II Web Development 389 第2部分 Web開發(fā) Chapter 9 Web Clients and Servers 390 第9章 Web客戶端和服務器 9.1 Introduction / 簡介 391 9.2 Python Web Client Tools / Python Web客戶端工具 396 9.3 Web Clients / Web客戶端 410 9.4 Web (HTTP) Servers / Web(HTTP)服務器 428 9.5 Related Modules / 相關模塊 433 9.6 Exercises / Exercises 436 Chapter 10 Web Programming: CGI and WSGI 441 第10章 Web編程:CGI和WSGI 10.1 Introduction / 簡介 442 10.2 Helping Web Servers Process Client Data / 幫助Web服務 器處理客戶端數據 442 10.3 Building CGI Applications / 建立CGI應用程序 446 10.4 Using Unicode with CGI / 在CGI中使用Unicode 464 10.5 Advanced CGI / 高級CGI 466 10.6 Introduction to WSGI / WSGI簡介 478 10.7 Real-World Web Development / 真實世界的Web開發(fā) 487 10.8 Related Modules / 相關模塊 488 10.9 Exercises / 練習 490 Chapter 11 Web Frameworks: Django 493 第11章 Web框架:Django 11.1 Introduction / 簡介 494 11.2 Web Frameworks / Web框架 494 11.3 Introduction to Django / Django簡介 496 11.4 Projects and Apps / 項目和應用 501 11.5 Your “Hello World” Application (A Blog) / “Hello World” 應用(一個博客) 507 11.6 Creating a Model to Add Database Service / 創(chuàng)建一個 Model來添加數據庫服務 509 11.7 The Python Application Shell / Python Application Shell 514 11.8 The Django Administration App / Django管理應用 518 11.9 Creating the Blog’s User Interface / 創(chuàng)建Blog的用戶界面 527 11.10 Improving the Output / 改進輸出 537 11.11 Working with User Input / 處理用戶輸入 542 11.12 Forms and Model Forms / 表單和模型表單 546 11.13 More About Views / 視圖進階 551 11.14 *Look-and-Feel Improvements / *改善外觀 553 11.15 *Unit Testing / *單元測試 554 11.16 *An Intermediate Django App: The TweetApprover / 中級Django應用:TweetApprover 564 11.17 Resources / 資源 597 11.18 Conclusion / 總結 597 11.19 Exercises / 練習 598 Chapter 12 Cloud Computing: Google App Engine 604 第12章 云計算:Google App Engine 12.1 Introduction / 簡介 605 12.2 What Is Cloud Computing? / 什么是云計算? 605 12.3 The Sandbox and the App Engine SDK / 沙盒和App Engine SDK 612 12.4 Choosing an App Engine Framework / 選擇一個App Engine框架 617 12.5 Python 2.7 Support / Python 2.7支持 626 12.6 Comparisons to Django / 與Django比較 628 12.7 Morphing “Hello World” into a Simple Blog / 將“Hello World”改成一個簡單的博客 631 12.8 Adding Memcache Service / 添加Memcache服務 647 12.9 Static Files / 靜態(tài)文件 651 12.10 Adding Users Service / 添加用戶服務 652 12.11 Remote API Shell / 遠程API Shell 654 12.12 Lightning Round (with Python Code) / 問與答(Python實現) 656 12.13 Sending Instant Messages by Using XMPP / 使用XMPP發(fā)送即時消息 660 12.14 Processing Images / 處理圖片 662 12.15 Task Queues (Unscheduled Tasks) / 任務隊列(非定期任務) 663 12.16 Profiling with Appstats / 使用Appstats進行分析 670 12.17 The URLfetch Service / URLfetch服務 672 12.18 Lightning Round (without Python Code) / 問與答(沒有Python代碼) 673 12.19 Vendor Lock-In / 廠商鎖定 675 12.20 Resources / 資源 676 12.21 Conclusion / 總結 679 12.22 Exercises / 練習 680 Chapter 13 Web Services 684 第13章 Web服務 13.1 Introduction / 簡介 685 13.2 The Yahoo! Finance Stock Quote Server / Yahoo!金融股票報價服務器 685 13.3 Microblogging with Twitter / Twitter微博 690 13.4 Exercises / 練習 707 Part III Supplemental/Experimental 713 第3部分 補充/實驗章節(jié) Chapter 14 Text Processing 714 第14章 文本處理 14.1 Comma-Separated Values / 逗號分隔的值(CSV) 715 14.2 JavaScript Object Notation / JavaScript對象表示法(JSON) 719 14.3 Extensible Markup Language / 可擴展標記語言 724 14.4 References / 參考資料 738 14.5 Related Modules / 相關模塊 740 14.6 Exercises / 練習 740 Chapter 15 Miscellaneous 743 第15章 其他內容 15.1 Jython / Jython 744 15.2 Google+ / Google+ 748 15.3 Exercises / 練習 759 Appendix A Answers to Selected Exercises 763 附錄A 部分練習參考答案 Appendix B Reference Tables 768 附錄B 參考表 Appendix C Python 3: The Evolution of a Programming Language 798 附錄C Python 3:一種編程語言的進化產物 Appendix D Python 3 Migration with 2.6+ 807 附錄D 利用Python 2.6+進行Python 3遷移
你還可能感興趣
我要評論
|