优点

  1. Python起始定位“优雅”、“明确”、“简洁”,工具型语言,上手快,实用性强。
  2. 开发效率高,支持库强大,很多功能都有与之对应的最优模块支持。
  3. 高级语言,编程时无需考虑内存等底层具体实现。
  4. 可移植性强,因开源奠定了它的可移植性强大。
  5. 可扩展性强,可以和众多语言结合使用。
  6. 可嵌入性,可嵌入别的语言程序,为程序用户提供脚本功能。

缺点

  1. 运行速度较C和Java相比较慢。
  2. 不可加密。
  3. 由于GIL锁的存在,Python的线程无法利用多CPU。
  4. 需要解释器支持才可执行。

解释器种类

  CPython

  当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

  CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。

  IPython

  IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。

  CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

  PyPy

  PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。

  绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。

  Jython

  Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

  IronPython

  IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结

  Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

最新文章

  1. Android开发常用工具类
  2. 盲注----基于布尔的SQL盲注
  3. 移动端使用rem适配及相关问题
  4. C语言函数指针的用法
  5. CentOS 7 AMD64安装nginx和mysql
  6. Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC
  7. HierarchyRequestError:Node cannot be inserted at the specified point in the hierarchy
  8. register instruction pointer
  9. Android开源库--PhotoView图片查看
  10. 关于WPF中Popup控件的小记
  11. UVA127- "Accordian" Patience(模拟链表)
  12. Java学习笔记--Collection和Collections的区别
  13. <转载>Wait and Waitpid
  14. 关于C++数组的几点讨论
  15. EF通用数据层封装类(支持读写分离,一主多从)
  16. Oracle GoldenGate 18.1 支持的DB和OS列表
  17. locate 和 find
  18. 蓝桥杯 错误票据 (stringstream的使用)
  19. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识
  20. 关于Q-LEARNING的优化

热门文章

  1. Directx11教程(53) D3D11管线(8) GS的调度执行
  2. Directx11教程37 纹理映射(7)
  3. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十三章:角色动画
  4. uva 10453 【回文串区间dp】
  5. thinkphp5.0 模板包含文件
  6. [Linux]jenkins的安装 标签: linux服务器 2016-08-21 20:47 1060人阅读 评论(23)
  7. Jmeter非命令行执行脚本
  8. javascript、jquery、AJAX总结 标签: javascriptjqueryajax 2016-01-23 10:25 2415人阅读
  9. 逗号分隔的字符串转换为Python中的列表 split
  10. HTML打印print