与其它计算机语言相比Python有何优劣势?
发布时间:2020-02-24 15:34:51

如最开始说的,Python作为一种开放源代码的解释型高级动态类型语言,语法简练、类库丰富,这些年因为开发效率高,且在大数据、AI等行业应用广泛而成为了“网红”。

有多高开发效率呢,举个直观的代码量例子:

完成同一个任务,C语言要写1000行代码,JAVA要写100行代码,而Python可能只要20行。

Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。

此外,Python的优势还包括:

  • 简单:当用Python语言编写程序的时候,我们不需要考虑底层细节,比如怎样管理你的程序使用内存之类的;

  • 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能;部分程序用C或C++编写,然后在Python中使用;;

  • 可扩展性:如果需要一段关键代码运行得更快或者希望某些算法不公开,那可以直接把部分程序用C或C++编写,然后在Python中使用。

  • 可嵌入性:可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。

对我来说,Python是一种享受的过程,它能够给你带来及时的正反馈,就像玩王者荣耀一样,Double Kill的快感是及时反馈的。

当然,有利也有弊,Python也有些劣势:

  • 速度慢:Python 的运行速度相比C语言慢很多,连JAVA都比不过。虽然肉眼不可察觉,但确实存在;

  • 代码不能加密:因为Python是解释性语言,所以它的源码都是以明文形式存放的;

  • 线程不能利用多CPU:这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行。Python的线程是操作系统的原生线程,在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,也会禁止多线程的并行执行。