基本信息
- 原书名:Expert Python Programming: Best practices for designing, coding, and distributing your Python software
- 原出版社: Packt Publishing
编辑推荐
旧金山湾区Python社区主持人Shannon-jj Behrens倾情作序
内容简介
作译者
Tarek创建了Afpy,这是法国的Python用户组,并且编写了两本法语的Python书籍。他还在诸如Solutions Linux、Pycon、OSCON和EuroPython等法国及国际会议上发表了许多演讲,并且主持了许多课程。
目录
1.1 安装Python 1
1.1.1 Python实现版本 2
1.1.2 在Linux环境下安装 3
1.1.3 在Windows环境下安装 5
1.1.4 在Mac OS X环境下安装 8
1.2 Python命令行 9
1.2.1 定制交互式命令行 10
1.2.2 iPython:增强型命令行 11
1.3 安装setuptools 12
1.3.1 工作原理 12
1.3.2 使用EasyInstall安装setuptools 13
1.3.3 将MinGW整合到distutils中 15
1.4 工作环境 15
1.4.1 使用文本编辑器与辅助工具的组合 15
1.4.2 使用集成开发环境 19
1.5 小结 22
第2章 语法最佳实践——低于类级 23
2.1 列表推导 24
2.2 迭代器和生成器 25
前言
从20世纪80年代末出现的最早版本到当前的版本,它一直遵循着相同的理念不断发展:提供一个强调可读性和生产力的多范式语言。
人们曾经将Python看作一种新的脚本语言,认为不应该用它来建立大型系统。但是随着岁月流逝,在一些公司的努力下,显然,Python可以用于构建几乎所有类型的系统。
实际上,许多其他语言的开发人员也醉心于Python,并将其作为第一选择。
本书展现了作者多年构建各种Python应用程序的经验,包括从一两个小时就完成的很小的系统脚本,到许多开发人员历经数年编写的很大的应用程序。
它描述了开发人员使用Python的最佳实践。
本书名为《Python高级编程》,这是因为它包含了一些不关注于语言本身,而更多关注于利用它的工具和技术。
换句话说,本书描述了高级的Python开发人员每天的工作方式。
本书内容
第1章介绍如何安装Python,以确保所有读者有最接近的标准化环境。因为本书不是针对初学者的,所以本章差点被删除。但是,因为有些有经验的Python开发人员没有意识到这里提到的一些事情,所以最终仍然还是将它保留下来了。如果读者已经很了解这些内容,不要感到失望,因为本书其他的部分应该能够满足你的需要。
第2章是关于类级别以下的语法最佳实践。它将以高级的方式介绍迭代程序、生成器和描述符。
第3章也是关于语法的最佳实践,但是它将关注于类级别之上。
第4章是关于如何选择好名称的。这是用命名最佳实践对PEP8的扩展,还给出了一些如何设计良好API的提示。
第5章说明了编写包和使用模板的方法,然后关注于发行和分发代码的方法。
第6章是第5章的扩展,描述了编写完整应用程序的方法。它通过一个小的Atomisator案例进行示范。
第7章的主题是zc.buildout,这是一个用于管理开发环境和发行应用程序的系统,其广泛地用于Zope和Plone社区,现在也开始在Zope世界之外使用了。
第8章介绍了对项目代码库管理的一些深入观察,并说明了建立持续集成的方法。
第9章介绍通过迭代和增量方法管理软件生命周期的方法。
第10章的主题是文档,并且给出了一些关于技术协作和Python项目文档的提示。
第11章阐述了测试驱动开发及其所用的工具。
序言
曾几何时,我坚持使用Python,许多公司都认为我疯了。现在,Python编码人员已经供不应求了。诸如Google、YouTube、Vmware和DreamWorks等重要的公司都在不断地争夺能找到的Python人才。
Python过去一贯落后于Peri,因为Perl拥有CPAN。而现在,setuptools和PyPI已经引发了高可用的、高质量的第三方Python程序库的大爆发。Python也曾经落后于Java Servlets和Ruby on Rails,因为没有标准的用于与Web服务器交互的API。现在,Web服务器网关接口(WSGl)引领了PythonWeb世界的复兴。有了Google App Engine,我想我们还将看到更多。
Python似乎对很固执并对简洁性有真正品味的编程人员具有吸引力。很少有人因为学校里的学习任务或者大公司都在使用Python而成为Python编程人员。人们只有在发现了Python的内在美才会沉迷于它。因此,Python的书多得令人吃惊。我没有足够的统计数字来证明,但是,似乎Python的编程书籍要多于其他语言。然而,一直没有出现足够高级的Python书籍,直至本书的出现。
本书介绍了一系列有趣的主题。将介绍Python的一组特性,以及以意想不到的方式使用它们的方法。此外,还介绍了一组精选的、有趣的第三方程序库和工具,以及使用Python工具和程序库的敏捷编程方法。这包括基于nose的测试驱动开发,基于doctest的文档驱动开发,使用Mercurial进行源代码控制,使用Buildbot实现持续集成,以及使用Trac完成项目管理。最后,介绍了一些更传统的主题,如剖析、优化以及诸如AlexMartelli的Borg方法,还介绍了诸如单例之类的设计模式。
如果你正打算从了解Python进步到精通Python,那么本书正适合你。实际上,这正是5年前我所希望拥有的书。我花费了数年,通过踏踏实实地参加PyCon和本地的Python用户组而得到的一切,现在已经都在这一本简洁的书当中了。
没有什么比成为Python编程人员更激动人心的了!
Shannon-jj Behrens
旧金山湾区Python兴趣团体主持人