自动化测试

当前位置:首页 > 自动化测试

Python 核心编程 (第二版) 第一部分 Python 核心 第一章

第1章 欢迎来到Python世界

开篇将介绍-些Pythoe的背最知识。包括什么是Pybo. Pybor的越源和它的一 些关键特性。一 -旦你来了兴致,我们就会向你介绍怎样获得Pyhom 以及如何在你的系统上安装井运行它。本章最后的练习将会帮助你非常自如地使用Pyhon,包括使用交互式解释器,以及创建井运行脚本程序。

1.1什么是 Python

Python是一门优雅而健壮的编程语言,它继承T传统编译语言的强大性和通用性,同时也借鉴丁简单脚本和解释语言的易用性。它可以帮你完成工作。而且- -段时间以后, 你还能看明自自己写的这段代码。你会对自己如此快地学会它和它强大的功能感到十分的惊讶,更不用提你已经完成的工作了!只有你想不到,没有Pyhon做不到。

1.2 起源

Guido vwan Rosum于1989年底始创了Pythom, 那时,他还在荷兰的CwI (Centmum voo Wiskunde田Ifemalia.国家敷学和计算机科学研究院)。1991 年初, Python 发布了第一一个公开发行版。这一切究竟是如何开始的呢?像C. C. Lisp. Java 和Perl-样。 Pyto 来自于某个研究项目。项目中的那些程序员利用手边现有的工具辛苦地工作着,他们设想并开发出了更好的解决办法。

那时ran Rss是一位研究人员,对解释型语言ABC有着本富的设计经验,这个语言同样也是在CWI开发的。但是他不满足其有限的开发能力。已经使用并参与开发了像ABC这样的高级语言后,再退回到c语言显然是不可能的。他所期望的工具有一些是用于 完成日常系统管理任务的。而且它还希望能够访问Amoeba分布式操作系统的系统调用。尽管van Rossum也曾想过为Amceba开发专用语言,但是创造一种通用的程序 设计语言显然更加明智,于是在1989 年末, Python 的种子披播下了。

1.3 特点

尽管Pyghon已经流行了超过15年,但是一-些人仍旧认为相对于通用教件开发产业而言,它还是个新丁。我们应当谨慎地使用“相对”这个词。因为“网络时代”的程序开发,几年看上去就像几十年。

当人们询问,“什么是Pyhon? ”的时候。很难用任何一个具象来推述它。人们更倾向于一口气不加思索地说出他们对Pythoo的所有感觉。Pyhon是__ (请填写), 这些特点究竟又是什么呢?为了让你能知其所以然,我们下面会对这些特点进行逐一地解释。

1.3.1高级

伴随若每- -代煸程语言的产生。我们会达到一-个新的高度。汇编语言是献给那些挣扎在机器代码中的人的礼物。后来有了FORTRAN, C和Pascal语言,它们将计算提升到了崭新的高度,并且开创了软件开发行业。伴随着c语言诞生丁更多的像C+, Java这样的现代编译语言。我们没有止步于此,于是有了强大的、可以进行系绕调用的解释型脚本语言。例如Tel. Perl 和Python.

这些语言都有高级的数据结构,这样就减少了以前“框架”开发需要的时间。像Python中的列表(大小可变的数组)和字奥(哈希表)就是内建于语言本身的。在核心语言中提供这些重要的构建单元。可以鼓励人们使用它们。缩婭开发时间与代码量,产生出可读性更好的代码。

在C语言中。对于混杂数组(Python 中的列表)和哈希表(Pythom 中的字典)还没有相应的标准库。所以它们经常被重复实现,井被复制到每个新项目中去。这个过程混乱而且容易产生情误。CHH使用标准模板库改进了这种情况,但是标准模板库是很难与Pyhon内建的列表和字典的简法和易读相提井论的。

1.3.2面向对象

建议:面向对象编程为数据和逻輞相分离的结构化和过程化骗程添加了新的活力。面向对象编程支持格特定的行为,特性以及和(成功能与它们要处理或所代表的数据结合在一起。 Python的面向对象的特性是与生俱来的。然面。Pyhon 绝不像Java或Ruby仅仅是一-门面向对象语言,事实上它融汇了多种摘程风格。例如。它甚至借鉴了- 些像Lip和Haskel这样的函数语言的特性。

1.3.3可升级

大家常常将Pybon与批处理或Unix系统下的shelll 相提井论。简单的shell脚本可以用索处理简单的任务,就算它们可以在长度上(无限度的)增长。但是功能总会有所穷尽。shelll 脚本的代码重用度很低,因此。你只晚止步于小項目。实际上,即使一些小项目也可能导致脚本又奥又长。Python 却不是这样,你可以不断地在各个项目中完善你的代码,谬加额外的新的或者现存的Pybo元素,也可以随时重用代码。Pyhon提倡简洁的代码设计。高级的数据结构和模块化的组件。这些特点可以让你在提升项目的戴围和规模的同时,确保灵話性、一致性并缩短必要的调试时间。

“可升级"这个术语最经常用于衡量硬件的负观。通常指为系统翠加了新的硬件后带来的性能提升。我们乐于在这里对这个引述概念加以区分。我们试阳用“可升级“来传达-种观念, 这就是: Pybon 揭供了基本的开发模块。你可以在它上面开发你的软件,而且当这些需婴扩展和增长时,Python 的可插入性和模块化架构则能使你的项目生机盎然和易于管理。

1.3.4可扩展

就算你的项目中有大量的Pyhon代码。你也依旧可以有条不豪地通过将其分离为多个文件或模块加以组织管理。而且你可以从一个模块中选取代码,面从另一个核块中读取属性。更棒的是,对于所有模块, Pythond的访问语法都是相同的。不曾这个模块是Pythea 标准库中的还是你- -分钟之前创造的, 哪怕是你用其他语言写的扩展都没问题!借助这些特点,你会感觉自己根据需要“扩展”了这门语言,而且你已经这么做了。.

代码中的瓶颈。可能是在性能分析中总排在前面的那些热门成者-些特别强调性能的地方。 可以作为Pytbee扩展用C重写。雷要重中的是。这些楼口和纯Python模块的接口是一模- 样的。 乃至代码和对象的访间方法也是如出一辙的。唯-不同的是。这些代码为性能带来了显著的提升。自然。 这全部取决你的应用程序以及它对资源的需求情况。很多时候。使用编译型代码重写程序的越颈部分绝对是益处多多的,因为它能明星提升整体性能。

程序设计语言中的这种可扩展性使得工程师能够灵活附加或定制工具,續妞开发周期。虽然像c.C++乃至Java等主流第三代语言(3GL)都拥有该特性,但是这么容易地使用C端写扩展确实是Pythom的优势。此外。还有像PyRex这样的工具,允许C和Pyhon混合編程。使编写扩展更加轻而易举,因为它会把所有的代码都转换成C语言代码。

因为Pytho的标准实现是使用C语言完成的(也就是CPyhon),所以要使用C和CH+编写Pyton扩展。Fychon的Java实现被称作Jytbom,要使用Java编写其扩展。最后。还有lonPythor,这是针对.NET或Moo平台的C#实现。你可以使用C#或者VB.Net扩展lonPyhoo.

1.3.5可移植性

在各种不同的系统上可以看到Pybhon的身影,这是由于在今天的计算机领城。Pythoa取得了持续快速的成长。因为Python 是用C写的,又由于C的可移植性,使得Python可以运行在任何带有ANSI C编评器的平台上。尽管有一些针对不同平台开发的特有模块,但是在任何- -个平台上用Pyhon开发的通用软件都可以精事修改或者原封不动地在其他平台上运行。这种可移植性既适用于不同的架构。也适用于不同的操作系統。


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~