Hi!欢迎光临陕西省的权威思科、华为、Oracle、红帽、深信服、微软认证培训中心!
| 029-88235527
您现在所在位置:首页 > 新闻资讯 > 最新资讯 >

Python优缺点都有哪些呢?会不会在未来超过java的地位呢?

发布日期:2019-09-17 15:21:15点击次数:

分享到:
  说起目前最火的编程语言,Python肯定名列三甲,而且近年来颇有超越长期霸占排行榜榜首Java的趋势。许多转行IT行业的人,也都把Python作为入门语言,其实如果让小编选的话,我也会选择Python。那么,Python究竟有什么魅力呢?它的优缺点都有哪些呢?

Python优缺点都有哪些呢?会不会在未来超过java的地位呢?

  优点

  简单易学

  作为一种面向对象、解释型的脚本语言,Python同时也是一种功能强大而完善的通用型语言。相比于其他编程语言(比如Java),Python代码非常简单,上手非常容易。

  开源

  Python是FLOSS(自由/开源源码软件)之一,简单地理解就是,用户使用Python进行开发和发布自己编写的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python也是免费的。

  开源正在成为软件行业的一种发展趋势,现在有很多商业软件公司都开始将自己的产品变成开源的(例如Java)。也许,Python的开源正是它如此优秀的原因之一,因为会有这么一群人,他们希望看到一个更加优秀的Python,从而为了这个目标,不断地对Python进行创造,不断地改进。

  解释型语言

  一个用编译型语言(如C或C++)写的程序,可以从源文件转换到一个计算机使用的语言。这个过程主要通过编译器完成。当运行程序的时候,我们可以把程序从硬盘复制到内存中并且运行。

  而Python语言写的程序,则不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,由Python解释器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

  事实上,由于不再担心如何编译程序,使得使用Python变得更加简单,我们只需要将Python程序复制到另外一台计算机上,它就可以工作了。因此,Python程序更加易于移植。

  可移植性

  由于Python是开源的,它已经被移植到许多平台上。如果能够避免使用依赖系统的特性,那就意味着,所有Python程序都无需修改就可以在好多平台上运行,包括Linux、Windows、FreeBSD、Solaris等等,甚至还有PocketPC、Symbian以及Google基于Linux开发的Android平台。

  解释型语言几乎天生就是跨平台的。Python作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的Python解释器,Python就可以在该平台上运行。

  丰富强大的库

  Python语言号称自带电池(BatteryIncluded),寓意是Python语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有相应的开源项目提供了类似的功能。合理使用Python的类库和开源项目,能够快速的实现功能,满足业务需求。

  可扩展性

  Python的可扩展性体现为它的模块,Python具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。

  Python可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快时,可以将其用C或C++语言编写,然后在Python程序中使用它们即可。

  虽然Python有很多优点,但是也并不是没有缺点,最主要的缺点有以下几个:

  Python的执行速度不够快。相比于比Java、C、C++等程序,Python的运行效率要稍微慢些。不过,这也不是一个很严重的问题,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python脚本将这部分应用连接起来,以提高程序的整体效率。

  Python的GIL锁限制并发:Python的另一个大问题是,对多处理器支持不好。GIL是指Python全局解释器锁(GlobalInterpreterLock),当Python的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。

  不过,我们也可以使用多进程的架构来提高程序的并发,也可以选择不同的Python实现来运行我们的程序。

  源代码加密困难:不像编译型语言的源程序会被编译成目标程序,Python直接运行源程序,因此对源代码加密比较困难。

  总而言之,作为一种编程语言,Python在兼顾质量和效率方面有很好的平衡,尤其对新手而言,Python是一种十分友好的语言。