朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好的理解人工智能技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套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的创始者Guido van Rossum:Python社区内公认的“终身的慈善独裁者”[Benevolent Dictator for Life (BDFL) ]。Python语言的改变必须遵循一套规范的有约束力的程序(称作PEP流程),并需要经过规范的测试系统和BDFL进行彻底检查。值得庆幸的是,正是这样使得Python相对于其他语言可以保守地持续改进。
可移植
Python的标准实现是由可移植的ANSI C编写的,可以在目前所有的主流平台上编译和运行。例如,如今从PDA到超级计算机,到处可以见到Python在运行。Python可以在下列平台上运行(这里只是部分列表):
•Linux和UNIX系统。
•微软Windows和DOS(所有版本)。
•Mac OS(包括OS X和Classic)。
•BeOS、OS/2、VMS和QNX。
•实时操作系统,例如,VxWorks。
•Cray超级计算机和IBM大型机。
•运行Palm OS、PocketPC和Linux的PDA。
•运行Windows Mobile和Symbian OS 的移动电话。
•游戏终端和iPod。
除了语言解释器本身以外,Python发行时自带的标准库和模块在实现上也都尽可能地考虑到了跨平台的移植性。此外,Python程序自动编译成可移植的字节码,这些字节码在已安装兼容版本Python的平台上运行的结果都是相同的。
这些意味着Python程序的核心语言和标准库可以在Linux、Windows和其他带有Python解释器的平台无差别地运行。大多数Python外围接口都有平台相关的扩展(例如,COM支持Windows),但是核心语言和库在任何平台都一样。就像之前我们提到的那样,Python还包含了一个叫做tkinter的Tk GUI工具包,它可以使Python程序实现功能完整的、无需做任何修改即可在所有主流GUI平台运行的用户图形界面。
功能强大
从特性的观点来看,Python是一个混合体。它丰富的工具集使它介于传统的脚本语言(例如,Tcl、Scheme和Perl)和系统语言(例如,C、C++和Java)之间。Python提供了所有脚本语言的简单和易用性,并且具有在编译语言中才能找到的高级软件工程工具。不像其他脚本语言,这种结合使Python在长期大型的开发项目中十分有用。下面是一些Python工具箱中的工具简介。
动态类型
Python在运行过程中随时跟踪对象的种类,不需要代码中关于复杂的类型和大小的声明。事实上,你将在后面看到,Python中没有类型或变量声明这回事。因为Python代码不是约束数据的类型,它往往自动地应用了一种广义上的对象。
自动内存管理
Python自动进行对象分配,当对象不再使用时将自动撤销对象(“垃圾回收”),当需要时自动扩展或收缩。Python能够代替你进行底层的内存管理。
大型程序支持
为了能够建立更大规模的系统,Python包含了模块、类和异常等工具。这些工具允许你把系统组织为组件,使用OOP重用并定制代码,并以一种优雅的方式处理事件和错误。
内置对象类型
Python提供了常用的数据结构作为语言的基本组成部分。例如,列表(list)、字典(dictionary)、字符串(string)。我们将会看到,它们灵活并易于使用。例如,内置对象可以根据需求扩展或收缩,可以任意地组织复杂的信息等。
内置工具
为了对以上对象类型进行处理,Python自带了许多强大的标准操作,包括合并(concatenation)、分片(slice)、排序(sort)和映射(mapping)等。
库工具
为了完成更多特定的任务,Python预置了许多预编码的库工具,从正则表达式匹配到网络都支持。Python的库工具在很多应用级的操作中发挥作用。
第三方工具
由于Python是开放源代码的,它鼓励开发者提供Python内置工具之外的预编码工具。从网络上,可以找到COM、图像处理、CORBA ORB、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代码。这对于那些想学习语言以在工作中应用的专业人员来说是一个好消息,同样对于那些使用Python进行定制或控制系统的终端用户来说也是一个好消息。
如今,许多系统依赖于终端用户可以很快地学会Python以便定制其代码的外围工具,从而提供较少的支持甚至不提供支持。尽管Python还是有很多高级编程工具,但不论对初学者还是行家高手来说,Python的核心语言仍是相当简单的。
我的微信公众号是“人工智能知识分享”
微信公众号:“人工智能知识分享“