Python高级编程
基本信息
编辑推荐
旧金山湾区Python社区主持人Shannon-jj Behrens倾情作序
内容简介回到顶部↑
本书通过大量的实例,介绍了python语言的最佳实践和敏捷开发方法,并涉及整个软件生命周期的高级主题,诸如持续集成、版本控制系统、包的发行和分发、开发模式、文档编写等。本书首先介绍如何设置最优的开发环境,然后以python敏捷开发方法为线索,阐述如何将已被验证的面向对象原则应用到设计中。这些内容为开发人员和项目管理人员提供了整个软件工程中的许多高级概念以及专家级的建议,其中有些内容的意义甚至超出了python语言本身。
本书针对具备一定python基础并希望通过在项目中应用最佳实践和新的开发技术来提升自己的python开发人员。
本书针对具备一定python基础并希望通过在项目中应用最佳实践和新的开发技术来提升自己的python开发人员。
作译者回到顶部↑
本书提供作译者介绍
Tarek Ziade是巴黎Ingeniweb公司的CTO,其工作方向为Python、Zope、Plone技术和质量保证。他参与Zope社区已经有5年了,并且曾经为Zope自身贡献过代码。
Tarek创建了Afpy,这是法国的Python用户组,并且编写了两本法语的Python书籍。他还在诸如Solutions Linux、Pycon、OSCON和EuroPython等法国及国际会议上发表了许多演讲,并且主持了许多课程。
.. << 查看详细
Tarek创建了Afpy,这是法国的Python用户组,并且编写了两本法语的Python书籍。他还在诸如Solutions Linux、Pycon、OSCON和EuroPython等法国及国际会议上发表了许多演讲,并且主持了许多课程。
.. << 查看详细
目录回到顶部↑
第1章 准备工作 1
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
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
前言回到顶部↑
Python很棒!
从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章阐述了测试驱动开发及其所用的工具。
从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,许多公司都认为我疯了。现在,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兴趣团体主持人
曾几何时,我坚持使用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兴趣团体主持人


点击看大图





加载中...