本书通过大量的实例,介绍了 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 章阐述了测试驱动开发及其所用的工具。
第 12 章是关于优化的,给出了剖析技术和优化策略指南。
第 13 章是对第 12 章的扩展,提供了一些使程序运行更快的解决方案。
第 14 章用一组有用的设计模式结束本书。
本书是为在Linux、Mac OSX 或 Windows 之下工作的开发人员编写的。第1章中介绍了所有的先决条件,以确保系统能够启用 Python 并满足基本需求。
这对于Windows 开发人员很重要,因为他们需要确保拥有与Mac OS X和Linux用户所拥有的相近的命令行环境。一般来说,所有示例都可以在任何平台上工作。
最后请记住,本书不是用于代替在线资源的,而是用于补充它们。所以,需要通过所提供的互联网链接来完成某些方面的延伸阅读。
本书是为希望进一步精通 Python 的开发人员编写的。本书的某些部分(如持续集成)是面对项目领导者的。
本书是对讲解"如何进行Python 编程"的常规参考书和在线资源的补充,并且更深入地讲解了语法的使用。
本书还说明了敏捷编码的方法。虽然这适用于任何语言,但本书更聚焦于Python 实例。所以,如果没有实施测试或者使用版本控制系统,将可能通过本书学到许多甚至在其他语言上都有帮助的内容。
从测试驱动开发到分布式版本控制系统和持续集成,读者将学习到大项目上有经验的Python 开发人员所使用的最新编程技术。虽然这些主题都在快速发展着,但是本书不会过时,因为它关注于为什么而不是具体怎么做。
所以,即使书中介绍的特定工具已经不再使用,但仍能理解它为什么有用,并能够以专业的眼光选择一个正确的工具。
Python 是一种对开发人员很有价值的语言。
不管你或你的客户使用的是什么操作系统,它都能够正常工作。除非使用平台相关的功能,或者使用了特定平台的程序库,否则就可以跨平台使用。例如,可以将在 Linux 环境下开发的程序部署到安装了其他操作系统的平台上。不过,这并不是其独有的特性(Ruby、 Java 等许多语言都能够做到)。综合考虑本书介绍的其他功能,Python 将是公司首选开发语言之一。
本章将介绍开始使用 Python 之前必须掌握的知识,不管使用的是哪种运行环境。主要包括∶
●如何安装Python;
●如何使用并增强其命令行;
● 如何通过安装 setuptools 扩展 Python;
●如何配置开发环境,包括老款或新型方法。
如果你对 Python 很熟悉,并且安装了自己喜欢的代码编辑器,那么建议你跳过本章的 1.1 节,直接阅读其他章节,在那里可以找到一些增强编程环境的小技巧。不过,请一定不要跳过关于 setuptools 的小节,对于本书其他章节而言它是必须安装的工具。
如果使用的是 Windows 操作系统,那么必须确保安装了本章中介绍的所有软件,运行本书中提供的所有示例都将依赖于这些环境。
Python 语言能够在各种操作系统中使用,包括Linux、Macintosh 和 Windows。在Python网站的主下载页面中可以找到由 Python 核心开发团队提供的各种版本。针对其他平台的版本是由社区中的其他开发人员维护的,在"贡献(dedicated)"页面中有相关信息。在此,甚至可以找到早年所用操作系统的版本。
在安装 Python 之前,先来看看各种现有的实现版本。
Python 的主实现版本是用C 语言编写的,被称为 CPython。当人们提到 Python 时,通常指的就是它。随着该语言的不断演化,C 语言实现也随着改变。除了 C 语言实现之外,Python也提供了其他的实现版本,以保持对主流的跟踪。这些实现版本通常比 CPython 要落后几个里程碑,但也为 Python 在特定环境中的使用和宣传提供了巨大的机会。
1.Jython
Jython是 Python 语言的 Java 实现版本。它将其代码编译成 Java 字节码,因此开发人员可以在 Python 模块(在 Python 中,存储代码的文件被称为模块)中自由地使用 Java类。Jython让大家可以在诸如 J2EE 之类的复杂应用程序上,将 Python 作为顶层脚本语言使用。同时,也可以将 Java 应用程序引入到Python 应用程序中。使 Apache Jackrabbit(一种基于 JCR 实现的文档仓库 API 能够应用于 Python 程序,就是 Jython 存在价值的一个良好示例。Jython 的当前版本是 2.2.1,Jython开发团队正在研发2.5 版本。现在许多诸如 Pylons 之类的 Python Web框架正在通过 Jython被移植到 Java 世界中。
2. IronPython
IronPython 将 Python 引入了.NET环境。该项目是由微软提供支持的,IronPython 的主开发人员供职于该公司。其最新的稳定版本是1.1(发布于2007 年4月),它是对 Python 2.4.3版本的实现。它能够在 ASP.NET环境中使用,开发人员在.NET 应用程序中使用 Python 代码的方法和在 Java 环境中使用 Jython 一样。它对于该语言的推广起着十分重要的作用。.NET社区和 Java社区一样,都是最大的开发人员社区之一。TIOBE 社区索引也显示了,NET语言是一颗冉冉升起的新星。
3. PyPy
PyPy 或许是各种实现版本中最有趣的一款,其目标是用Python 语言重写Python。在 PyPy中,Python 解释程序本身就是用 Python编写的。对于Python 实现版本之一的 CPython 而言,需要一个 C 代码层来承载具体的工作。但在 PyPy 实现版本中,这个 C 代码层将彻底用纯 Python 语言重写。这就意味着可以在运行态时改变 Python 解释程序的行为,以及实现一些在 CPython 实现版本中难以实现的代码模式。PyPy 的运行速度远低于 CPython,不过在近几年中有了很大改善。随着诸如 JIT 编译器之类的技术的引入,其运行速度的提升是很有希望的。它当前的速度因子大概在 1.7~4 之间,针对的目标版本是Python 2.4。PyPy 可以被看作汇编程序领域开发的领军项目,它在许多领域的创新都是先驱,其他主流的实现版本必将会从中受益。总体来看, PyPy 的开发更多是出于学术研究的动机,关注该项目的都是那些热衷于深入研究语言内部机制的人。因此,通常不会在具体的产品中使用它。
【下载地址】
链接:https://pan.baidu.com/s/1r3tUYct4-1h4hFTka0E3sA
提取码:2xf3
相关文章
为了更好地适应新形势,满足读者对大数据分析处理学习的迫切需要,我们推出了《大数据分析 ∶ R基础及应用》一书 ,力求使读者能够从中了解大数据
读完本书后,你将掌握R语言的精华,并能够熟练使用多种工具来解决各种数据科学难题。
网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始, 获得初始
通过它,你将学到如何写能处理大量非结构化文本的 Python 程序。你将获得有丰富标注的涵盖语言学各种数据结构的数据集,而且你将学到分析书面
本书可以作为Python编程语言的一本指南或者教程。它主要是为新手而设计,不过对于有经验的程序员来说,它同样有用。
本书以机器学习与计算统计为主题背景,专门讲t述如何挖掘和分析 Web,上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出
为了能让更多的编程小自轻松地入门编程,我把高效学习法结合 Pvthon 中的核心知识,写成了这本书。随意翻上几页,你就会发现这本书和其他编程
本书结构非常简单,其实就是 52 个习题。其中 26 个覆盖了输入输出、变量、以及函数三个课题,另外 26个覆盖了一些比较高级的话题,如条件
本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。本书不仅包括了对大量Python内置对象的剖析,更将大量的
本书是学习Python编程语言的入门书籍。Python是一种很流行的开源编程语言,可以在各种领域中用于编写独立的程序和脚本。Python免费
本书用 Python 语言来讲解算法的分析和设计。本书主要关注经典的算法,但同时会为读者理解基本算法问题和解决问题打下很好的基础。全书共 1
本书面向的读者是那些经常使用电子表格软件进行数据处理,但从未写过一行代码的人。前几章会教你设置 Python 运行环境,告诉你计算机是如何看
神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习技术。本书揭示神经网络背后的概念,并介绍如何通过Pvthon实现神经网络。
Python 是一种容易学习的强大的编程语言。它包含了高效的高级数据结构,能够用简单而高效的方式进行面向对象编程。Python 优雅的语法和
本书是面向 Python 初学者的学习指南,详细介绍了 Python 编程基础,以及一些高级概念,如面向对象编程。
FlashFXP绿色版网盘下载,附激活教程 1741
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1541
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1607
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1692
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1807
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64