编辑推荐
全面涵盖当今应用开发中的众多领域 为中级Python开发人员提供实践方法 涵盖大量实用的代码案例 每章末尾的习题有助于巩固所学知识
Python是一种灵活、可靠且具有表现力的编程语言,它将编译语言的强大与脚本语言的简洁性、快速开发特性整合起来。在《Python核心编程 第3版 英文版》中,Python开发人员兼企业培训师WesleyChun会帮助您将Python技能提升到更高的水平。 《Python核心编程 第3版 英文版》涵盖了成为一名技术全面的Python开发人员所需的一切内容。《Python核心编程 第3版 英文版》讲解了应用开发相关的多个领域,而且书中的内容可以立即应用到项目开发中。此外,《Python核心编程 第3版 英文版》还包含了一些使用Python2和Python3编写的代码案例,以及一些代码移植技巧。有些代码片段甚至无须修改就可以运行在Python2.x或Python3.x上。
《Python核心编程 第3版 英文版》讲解了如下内容: 学习专业的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客户端编程与常见的MicrosoftOffice软件(比如Excel、PowerPoint、Outlook)进行交互; 使用Django框架深入了解Web开发,以及使用GoogleAppEngine深入了解云计算; 使用Jyhon探索Java编程,以及在JVM上运行Python代码的方式; 连接Web服务,比如连接Yahoo!Fiance获取股票行情,或者连接Yahoo!Mail、Gmail以及其他邮件服务器来下载或发送邮件; 通过学习如何连接Twitter和Google+网络来拥抱社交媒体的热潮。内容简介
《Python核心编程(第3版)英文版》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、MicrosoftOffice编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、DjangoWeb框架、云计算、高级Web服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。 《Python核心编程(第3版)英文版》适合具有一定经验的Python开发人员阅读。作者简介
WesleyChun在高中阶段开始进入计算世界,当时他使用的是BASIC和6502汇编语言,系统是Commodore。随后开始在AppIIe上使用Pascal语言,然后是再在穿孔卡片上使用ForTran语言。正在在穿孔卡片上使用ForTran的经历使他成为一名谨慎小心的开发人员,因为将一组卡片发送到学校的主机并得到返回结果,往往需要一周的往返时间。Wesley还将一个新闻类从打字机改变为Osborne1CP/M计算机。他得到的有酬劳的工作是作为学生辅导员为四年级、五年级和六年级的学生及其父母家讲授BASIC编程课程。 高中毕业后,Wesley以加利福尼亚校友学者的身份进入加州大学伯克利分校。他主修应用数学(计算机科学),辅修音乐(古典钢琴),并以A级和B级的成绩毕业。在学校期间,他先后使用过Pascal、Logo和C语言编写过程序。他还参加了一个以录像带培训和心理咨询为特色的辅导课程。他的暑期实习项目包括以第4代编程语言编写代码,并编写了一个“GettingStarted”用户手册。几年过后,他开始在加州大学圣巴拉拉分校继续学习,并获得了计算机科学(分布式系统)的硕士学位。在此期间,他还讲授C编程课程。他的一片以其硕士论文为基础的论文在第29杰HICSS大会上被提名为论文,其随后的一个论文版本刊登在新加坡大学HighPerformanceComputing杂志上。 自从毕业之后,Wesley就投身于软件行业,编写和出版了多本图书,并且发表了数百篇会议报告和教程。此外还开发了针对公共企业和私有企业培训的Python课程。Wesley的Python使用经历始于Python1.4版本(当时Python刚刚起步),他使用Python设计了Yahoo!Mail拼写检查程序以及地址簿。他随后成为Yahoo!PeopleSearch部门的首席工程师。在离开Yahoo!之后,他写作了《Python核心编程 第3版 英文版》第1版,然后开始周游世界。回来之后,他使用Python编写过许多程序,包括本地产品搜索程序、反垃圾邮件和防病毒邮件程序、Facebook游戏/应用,以及许多完全不同的其他东西,比如医生用来进行脊柱骨折分析的软件。 在其闲暇时间,Wesley喜欢弹钢琴、打保龄球、打篮球、骑自行车、玩极限飞盘、打扑克、旅行,以及与家人共享人伦。他还是Tutor邮件列表和PyCon这两个Python用户组的志愿者。他还维护着艾伦帕森斯怪物项目目录(AlanParsonsProjectMonsterDiscography)。在《Python核心编程 第3版 英文版》写作之时,Wesley是Google的开发大使,为其云产品背书。Wesley生活在硅谷,您可以通过@wescpy或plus.ly/wescpy来找到他。目录
PartI GeneralApplicationTopics 1
第1部分 通用应用主题
Chapter1 RegularExpressions 2
第1章 正则表达式
1.1 Introduction/Motivation / 引言/动机 3
1.2 SpecialSymbolsandCharacters / 特殊的符号和字符 6
1.3 RegexesandPython / 正则表达式和Python语言 16
1.4 SomeRegexExamples一些正则表达式示例 36
1.5 ALongerRegexExample更长的正则表达式示例 41
1.6 Exercises / 练习 48
Chapter2 NetworkProgramming 53
第2章 网络编程
2.1 Introduction / 前言 54
2.2 WhatIsClient/ServerArchitecture? / 客户端/服务器网络编程 54
2.3 Sockets:CommunicationEndpoints / 套接字:通信端点 58
2.4 NetworkProgramminginPython / Python中的网络编程 61
2.5 *TheSocketServerModule / SocketServer模块 79
2.6 *IntroductiontotheTwistedFramework / *Twisted框架介绍 84
2.7 RelatedModules / 相关模块 88
2.8 Exercises / 练习 89
Chapter3 InternetClientProgramming 94
第3章 Internet客户端编程
3.1 WhatAreInternetClients? / 什么是Internet客户端? 95
3.2 TransferringFiles / 文件传输 96
3.3 NetworkNews / 网络新闻 104
3.4 E-Mail / 电子邮件 114
3.5 RelatedModules / 相关模块 146
3.6 Exercises / 练习 148
Chapter4 MultithreadedProgramming 156
第4章 多线程编程
4.1 Introduction/Motivation / 简介/动机 157
4.2 ThreadsandProcesses / 线程和进程 158
4.3 ThreadsandPython / 线程和Python 160
4.4 ThethreadModule / thread模块 164
4.5 ThethreadingModule / threading模块 169
4.6 ComparingSinglevs.MultithreadedExecution /
单线程和多线程执行对比 180
4.7 MultithreadinginPractice / 多线程实践 182
4.8 Producer-ConsumerProblemandtheQueue/queueModule /
生产者-消费者问题和Queue/queue模块 202
4.9 AlternativeConsiderationstoThreads / 线程的替代方案 206
4.10 RelatedModules / 相关模块 209
4.11 Exercises / 练习 210
Chapter5 GUIProgramming 213
第5章 GUI编程
5.1 Introduction / 简介 214
5.2 TkinterandPythonProgramming / Tkinter和Python编程 216
5.3 TkinterExamples / Tkinter示例 221
5.4 ABriefTourofOtherGUIs / 其他GUI简介 236
5.5 RelatedModulesandOtherGUIs / 相关模块和其他GUI 247
5.6 Exercises / 练习 250
Chapter6 DatabaseProgramming 253
第6章 数据库编程
6.1 Introduction / 简介 254
6.2 ThePythonDB-API / Python的DB-API 259
6.3 ORMs / 对象关系映射(ORM) 289
6.4 Non-RelationalDatabases / 非关系型数据库 309
6.5 RelatedReferences / 相关文献 316
6.6 Exercises / 练习 319
Chapter7 *ProgrammingMicrosoftOffice 324
第7章 *MicrosoftOffice编程
7.1 Introduction / 简介 325
7.2 COMClientProgrammingwithPython / 使用Python进行
COM客户端编程 326
7.3 IntroductoryExamples / 入门示例 328
7.4 IntermediateExamples / 中级示例 338
7.5 RelatedModules/Packages / 相关模块/包 357
7.6 Exercises / 练习 357
Chapter8 ExtendingPython 364
第8章 扩展Python
8.1 Introduction/Motivation / 简介和动机 365
8.2 ExtendingPythonbyWritingExtensions /
编写Python扩展 368
8.3 RelatedTopics / 相关主题 384
8.4 Exercises / 练习 388
PartII WebDevelopment 389
第2部分 Web开发
Chapter9 WebClientsandServers 390
第9章 Web客户端和服务器
9.1 Introduction / 简介 391
9.2 PythonWebClientTools / PythonWeb客户端工具 396
9.3 WebClients / Web客户端 410
9.4 Web(HTTP)Servers / Web(HTTP)服务器 428
9.5 RelatedModules / 相关模块 433
9.6 Exercises / Exercises 436
Chapter10 WebProgramming:CGIandWSGI 441
第10章 Web编程:CGI和WSGI
10.1 Introduction / 简介 442
10.2 HelpingWebServersProcessClientData / 帮助Web服务
器处理客户端数据 442
10.3 BuildingCGIApplications / 建立CGI应用程序 446
10.4 UsingUnicodewithCGI / 在CGI中使用Unicode 464
10.5 AdvancedCGI / 高级CGI 466
10.6 IntroductiontoWSGI / WSGI简介 478
10.7 Real-WorldWebDevelopment / 真实世界的Web开发 487
10.8 RelatedModules / 相关模块 488
10.9 Exercises / 练习 490
Chapter11 WebFrameworks:Django 493
第11章 Web框架:Django
11.1 Introduction / 简介 494
11.2 WebFrameworks / Web框架 494
11.3 IntroductiontoDjango / Django简介 496
11.4 ProjectsandApps / 项目和应用 501
11.5 Your“HelloWorld”Application(ABlog) / “HelloWorld”
应用(一个博客) 507
11.6 CreatingaModeltoAddDatabaseService / 创建一个
Model来添加数据库服务 509
11.7 ThePythonApplicationShell / PythonApplicationShell 514
11.8 TheDjangoAdministrationApp / Django管理应用 518
11.9 CreatingtheBlog’sUserInterface /
创建Blog的用户界面 527
11.10 ImprovingtheOutput / 改进输出 537
11.11 WorkingwithUserInput / 处理用户输入 542
11.12 FormsandModelForms / 表单和模型表单 546
11.13 MoreAboutViews / 视图进阶 551
11.14 *Look-and-FeelImprovements / *改善外观 553
11.15 *UnitTesting / *单元测试 554
11.16 *AnIntermediateDjangoApp:TheTweetApprover /
中级Django应用:TweetApprover 564
11.17 Resources / 资源 597
11.18 Conclusion / 总结 597
11.19 Exercises / 练习 598
Chapter12 CloudComputing:GoogleAppEngine 604
第12章 云计算:GoogleAppEngine
12.1 Introduction / 简介 605
12.2 WhatIsCloudComputing? / 什么是云计算? 605
12.3 TheSandboxandtheAppEngineSDK /
沙盒和AppEngineSDK 612
12.4 ChoosinganAppEngineFramework /
选择一个AppEngine框架 617
12.5 Python2.7Support / Python2.7支持 626
12.6 ComparisonstoDjango / 与Django比较 628
12.7 Morphing“HelloWorld”intoaSimpleBlog /
将“HelloWorld”改成一个简单的博客 631
12.8 AddingMemcacheService / 添加Memcache服务 647
12.9 StaticFiles / 静态文件 651
12.10 AddingUsersService / 添加用户服务 652
12.11 RemoteAPIShell / 远程APIShell 654
12.12 LightningRound(withPythonCode) /
问与答(Python实现) 656
12.13 SendingInstantMessagesbyUsingXMPP /
使用XMPP发送即时消息 660
12.14 ProcessingImages / 处理图片 662
12.15 TaskQueues(UnscheduledTasks) /
任务队列(非定期任务) 663
12.16 ProfilingwithAppstats / 使用Appstats进行分析 670
12.17 TheURLfetchService / URLfetch服务 672
12.18 LightningRound(withoutPythonCode) /
问与答(没有Python代码) 673
12.19 VendorLock-In / 厂商锁定 675
12.20 Resources / 资源 676
12.21 Conclusion / 总结 679
12.22 Exercises / 练习 680
Chapter13 WebServices 684
第13章 Web服务
13.1 Introduction / 简介 685
13.2 TheYahoo!FinanceStockQuoteServer /
Yahoo!金融股票报价服务器 685
13.3 MicrobloggingwithTwitter / Twitter微博 690
13.4 Exercises / 练习 707
PartIII Supplemental/Experimental 713
第3部分 补充/实验章节
Chapter14 TextProcessing 714
第14章 文本处理
14.1 Comma-SeparatedValues / 逗号分隔的值(CSV) 715
14.2 JavaScriptObjectNotation / JavaScript对象表示法(JSON) 719
14.3 ExtensibleMarkupLanguage / 可扩展标记语言 724
14.4 References / 参考资料 738
14.5 RelatedModules / 相关模块 740
14.6 Exercises / 练习 740
Chapter15 Miscellaneous 743
第15章 其他内容
15.1 Jython / Jython 744
15.2 Google+ / Google+ 748
15.3 Exercises / 练习 759
AppendixA AnswerstoSelectedExercises 763
附录A 部分练习参考答案
AppendixB ReferenceTables 768
附录B 参考表
AppendixC Python3:TheEvolutionofaProgrammingLanguage 798
附录C Python3:一种编程语言的进化产物
AppendixD Python3Migrationwith2.6+ 807
附录D 利用Python2.6+进行Python3迁移