《Python数据挖掘与机器学习实战》—1.6.3 Python语言特色

举报
华章计算机 发表于 2019/06/17 12:12:44 2019/06/17
【摘要】 本节书摘来自华章计算机《Python数据挖掘与机器学习实战》一书中的第1章,第1.6.3节,作者是方巍 。

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调用相应的模块。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。