《Python数据挖掘与机器学习实战》—1.6.3 Python语言特色
1.6.3 Python语言特色
Python开发人员会尽量避开不成熟或者不重要的优化。一些针对非重要部位的加快运行速度的补丁通常不会被合并到Python内,所以很多人认为Python很慢。不过,根据“二八定律”,大多数程序对速度要求不高。在某些对运行速度要求很高的情况下,Python设计师倾向于使用JIT技术,或者使用C/C++语言改写这部分程序。可用的JIT技术是PyPy。
Python是完全面向对象的语言。函数、模块、数字和字符串都是对象,并且完全支持继承、重载、派生和多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。相对于Lisp这种传统的函数式编程语言,Python对函数式设计只提供了有限的支持。有两个标准库(functools和itertools)提供了Haskell和Standard ML中久经考验的函数式程序设计工具。
虽然Python被粗略地分类为“脚本语言”(script language),但实际上一些大规模软件开发计划如Zope、Mnet及BitTorrent,以及Google公司也在广泛地使用它。Python的支持者喜欢称它为一种高级动态编程语言,原因是“脚本语言”泛指仅做简单程序设计任务的语言,如Shell Script、VBScript等只能处理简单任务的编程语言,并不能与Python相提并论。
Python本身被设计为可扩充的,但并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C、C++和Cython语言来编写和扩充模块。Python编译器本身也可以被集成到其他需要脚本语言的程序内,因此很多人还把Python作为一种“胶水语言”(glue language)来使用。在Google公司内部的很多项目中,经常会使用Python将其他语言编写的程序进行集成和封装。例如,Google Engine使用C++语言编写性能要求极高的部分模块,然后用Python或Java/Go调用相应的模块。
- 点赞
- 收藏
- 关注作者
评论(0)