python有哪些技术上的优点

显然,这是开发者关心的问题。如果你目前还没有程序设计背景,接下来的这些章节可能会显得有些令人费解:别担心,在本书中我们将会对这些内容逐一做出详细解释。那么对于开发者来说,这将是对Python一些最优的技术特性的快速介绍。

面向对象

从根本上讲,Python是一种面向对象的语言。它的类模块支持多态、操作符重载和多重继承等高级概念,并且以Python特有的简洁的语法和类型,OOP十分易于使用。事实上,即使你不懂这些术语,仍会发现学习Python比学习其他OOP语言要容易得多。

除了作为一种强大的代码构建和重用手段以外,Python的OOP特性使它成为面向对象系统语言如C++和Java的理想脚本工具。例如,通过适当的粘接代码,Python程序可以对C++、Java和C#的类进行子类的定制。

OOP是Python的一个选择而已,这一点非常重要。不必强迫自己立马成为一个面向对象高手,你同样可以继续深入学习。就像C++一样,Python既支持面向对象编程也支持面向过程编程的模式。如果条件允许的话,其面向对象的工具即刻生效。这对处于预先设计阶段的策略开发模式十分有用。

免费

Python的使用和分发是完全免费的。就像其他的开源软件一样,例如,Tcl、Perl、Linux和Apache。你可以从Internet上免费获得Python系统的源代码。复制Python,将其嵌入你的系统或者随产品一起发布都没有任何限制。实际上,如果你愿意的话,甚至可以销售它的源代码。

但请别误会:"免费"并不代表"无支持"。恰恰相反,Python的在线社区对用户需求的响应和商业软件一样快。而且,由于Python完全开放源代码,提高了开发者的实力,并产生了一个很大的专家团队。尽管学习研究或改变一个程序语言的实现并不是对每一个人来说都那么有趣,但是当你知道还有源代码作为最终的帮助和无尽的文档资源是多么的令人欣慰。你不需要去依赖商业厂商。

Python的开发是由社区驱动的,是Internet大范围的协同合作努力的结果。这个团体包括Python的创始者GuidovanRossum:Python社区内公认的"终身的慈善独裁者"[BenevolentDictatorforLife(BDFL)]。Python语言的改变必须遵循一套规范的有约束力的程序(称作PEP流程),并需要经过规范的测试系统和BDFL进行彻底检查。值得庆幸的是,正是这样使得Python相对于其他语言可以保守地持续改进。

可移植

Python的标准实现是由可移植的ANSIC编写的,可以在目前所有的主流平台上编译和运行。例如,如今从PDA到超级计算机,到处可以见到Python在运行。Python可以在下列平台上运行(这里只是部分列表):

Linux和UNIX系统。

微软Windows和DOS(所有版本)。

MacOS(包括OSX和Classic)。

BeOS、OS/2、VMS和QNX。

实时操作系统,例如,VxWorks。

Cray超级计算机和IBM大型机。

运行PalmOS、PocketPC和Linux的PDA。

运行WindowsMobile和SymbianOS的移动电话。

游戏终端和iPod。

还有更多。

除了语言解释器本身以外,Python发行时自带的标准库和模块在实现上也都尽可能地考虑到了跨平台的移植性。此外,Python程序自动编译成可移植的字节码,这些字节码在已安装兼容版本Python的平台上运行的结果都是相同的。

这些意味着Python程序的核心语言和标准库可以在Linux、Windows和其他带有Python解释器的平台无差别的运行。大多数Python外围接口都有平台相关的扩展(例如,COM支持Windows),但是核心语言和库在任何平台都一样。就像之前我们提到的那样,Python还包含了一个叫做Tkinter的TkGUI工具包,它可以使Python程序实现功能完整的无需做任何修改即可在所有主流GUI平台运行的用户图形界面。

功能强大

从特性的观点来看,Python是一个混合体。它丰富的工具集使它介于传统的脚本语言(例如,Tcl、Scheme和Perl)和系统语言(例如,C、C++和Java)之间。Python提供了所有脚本语言的简单和易用性,并且具有在编译语言中才能找到的高级软件工程工具。不像其他脚本语言,这种结合使Python在长期大型的开发项目中十分有用。下面是一些Python工具箱中的工具简介。

动态类型Python在运行过程中随时跟踪对象的种类,不需要代码中关于复杂的类型和大小的声明。事实上,你将在第6章中看到,Python中没有类型或变量声明这回事。因为Python代码不是约束数据的类型,它往往自动地应用了一种广义上的对象。

自动内存管理Python自动进行对象分配,当对象不再使用时将自动撤销对象("垃圾回收"),当需要时自动扩展或收缩。Python能够代替你进行底层的内存管理。

大型程序支持为了能够建立更大规模的系统,Python包含了模块、类和异常等工具。这些工具允许你组织系统为组件,使用OOP重用并定制代码,并以一种优雅的方式处理事件和错误。

内置对象类型Python提供了常用的数据结构作为语言的基本组成部分。例如,列表(list)、字典(dictionary)、字符串(string)。我们将会看到,它们灵活并易于使用。例如,内置对象可以根据需求扩展或收缩,可以任意地组织复杂的信息等。

内置工具为了对以上对象类型进行处理,Python自带了许多强大的标准操作,包括合并(concatenation)、分片(slice)、排序(sort)和映射(mapping)等。

库工具为了完成更多特定的任务,Python预置了许多预编码的库工具,从正则表达式匹配到网络都支持。Python的库工具在很多应用级的操作中发挥作用。

第三方工具由于Python是开放源代码的,它鼓励开发者提供Python内置工具之外的预编码工具。从网络上,可以找到COM、图像处理、CORBAORB、XML、数据库等很多免费的支持工具。

除了这一系列的Python工具外,Python保持了相当简洁的语法和设计。综合这一切得到的就是一个具有脚本语言所有可用性的强大编程工具。

可混合

Python程序可以以多种方式轻易地与其他语言编写的组件"粘接"在一起。例如,Python的C语言API可以帮助Python程序灵活地调用C程序。这意味着可以根据需要给Python程序添加功能,或者在其他环境系统中使用Python。例如,将Python与C或者C++写成的库文件混合起来,使Python成为一个前端语言和定制工具。就像之前我们所提到过的那样,这使Python成为一个很好的快速原型工具;首先出于开发速度的考虑,系统可以先使用Python实现,之后转移至C,根据不同时期性能的需要逐步实现系统。

使用简单

运行Python程序,只需要简单地键入Python程序并运行就可以了。不需要其他语言(例如,C或C++)所必须的编译和链接等中间步骤。Python可立即执行程序,这形成了一种交互式编程体验和不同情况下快速调整的能力,往往在修改代码后能立即看到程序改变后的效果。

当然,开发周期短仅仅是Python易用性的一方面的体现。Python提供了简洁的语法和强大的内置工具。实际上,Python曾有种说法叫做"可执行的伪代码"。由于它减少了其他工具常见的复杂性,当实现相同的功能时,用Python程序比采用C、C++和Java编写的程序更为简单、小巧,也更灵活。

以上内容为大家介绍了python有哪些技术上的优点,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/

推荐阅读

    linux清空信息的命令?

    linux清空信息的命令?,信息,系统,设备,情况,命令,暂停,状态,发行,数字,文件,L

    linux系统名称命令?

    linux系统名称命令?,系统,工作,地址,管理,信息,标准,名称,网络,命令,目录,Lin

    linux系统命令行在?

    linux系统命令行在?,系统,地址,工作,管理,信息,工具,最新,密码,首页,标准,怎

    linux网络服务命令?

    linux网络服务命令?,系统,地址,网络,基础,设备,信息,服务,工作,名称,标准,配

    linux网络探测的命令?

    linux网络探测的命令?,网络,系统,服务,检测,信息,地址,工具,电脑,命令,状态,l

    linux系统命令改时间?

    linux系统命令改时间?,时间,系统,服务,大陆,国家,基础,城市,命令,时区,时钟,

    linux做系统盘命令?

    linux做系统盘命令?,系统,信息,设备,软件,情况,报告,工具,命令,首次,网上,Lin

    linux系统重亲命令?

    linux系统重亲命令?,工作,系统,标准,设备,名称,服务,命令,提示,主机,级别,详

    linux命令行看代码?

    linux命令行看代码?,代码,基础,系统,命令,数字,工作,情况,进程,程序,终端,在L

    linux防火墙标准命令?

    linux防火墙标准命令?,状态,系统,服务,网络,工具,软件,标准,防火墙,地址,信

    linux系统测试命令?

    linux系统测试命令?,系统,工作,地址,标准,信息,命令,数据,单位,软件,目录,软

    linux命令代码怎么看?

    linux命令代码怎么看?,时间,系统,代码,命令,状态,工具,情况,电脑,实时,基础,l

    linux打通网络命令?

    linux打通网络命令?,网络,系统,地址,信息,密码,工具,命令,工作,软件,服务,lin

    linux重启网络命令?

    linux重启网络命令?,网络,标准,工作,设备,系统,名称,服务,命令,网络服务,提

    linux系统安卓命令?

    linux系统安卓命令?,系统,软件,信息,数据,地址,标准,名字,设备,工作,网络,lin

    Python网络爬虫教程

    Python网络爬虫教程,网络,代码,数据,爬虫,体系,设计,网站,时间,培训,智能,Py

    pycharm无法输入代码?

    pycharm无法输入代码?,代码,环境,工具,分析,输入法,键盘,性能,计算机,问题,