魔兽世界历史|魔兽世界人口普查2019准吗|
4000-9696-28

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

2019年09月17日 09:49供稿中心:北大青鸟市场部

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

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

1568684664(1).jpg

优点

简单易学

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

开源

Python 是  FLOSS(自由/开源源码软件)之一,简单地理解就是,用户使用 Python 进行开发?#22836;?#24067;自己编写的程序,不需要支?#24230;?#20309;费用,也不用担心版权问题,即使作为商业用途,Python 也是免?#35757;摹?/span>
开源正在成为软件行业的一种发展趋势,现在有很多商业软件公司都开始将自己的产品变成开源的(例如 Java)。也许,Python 的开源正是它如此优秀的原因之一,因为会有这么一群人,他们希望看到一个更加优秀的 Python,从而为了这个目标,不断地对 Python 进行创造,不断地改进。

解释型语言

一个用编译型语言(如 C 或 C++)写的程序,可?#28304;?#28304;文件转换到一个计算机使用的语言。这个过程主要通过编译器完成。当运行程序的时候,我?#24378;?#20197;把程序从硬盘复制到内存中并且运行。
Python 语言写的程序,则不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,由 Python 解?#25512;靼言?#20195;码转换成字节码的中间?#38382;劍?#28982;后再把它翻译成计算机使用的机器语言并运行。
事实上,由于不再担心如何编译程序,使得使用 Python 变得更加简单,我们只需要将 Python 程序复制到另外一台计算机上,它就可以工作了。因此,Python 程序更加易于移植。

可移植性

由于 Python 是开源的,它已经被移植到许多?#25945;?#19978;。如果能够避免使用依赖系统的特性,那就意味着,所有 Python 程序都无需修改就可以在好多?#25945;?#19978;运?#26657;?#21253;括 Linux 、Windows、FreeBSD、Solaris 等等,甚至还有 PocketPC、Symbian 以及 Google 基于 Linux 开发的 Android ?#25945;ā?/span>
解释型语言几乎天生就是跨?#25945;?#30340;。Python 作为一门解释型的语言,它天生具有跨?#25945;?#30340;特征,只要为?#25945;?#25552;供了相应的 Python 解?#25512;鰨琍ython 就可以在该?#25945;?#19978;运行。

丰富强大的库

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

可扩展性

Python 的可扩展性体现为它?#21738;?#22359;,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
Python 可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快?#20445;?#21487;?#36234;?#20854;用 C 或 C++ 语?#21592;?#20889;,然后在 Python 程序中使用它们即可。

虽然Python有很多优点,但?#19988;?#24182;不是没有缺点,最主要的缺点有以下几个:

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

Python 的 GIL 锁限制并发:Python 的另一个大问题是,对多处理器支持不好。GIL 是指 Python 全局解?#25512;?#38145;(Global Interpreter Lock),当 Python ?#21738;?#35748;解?#25512;?#35201;执行字节码?#20445;?#37117;需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解?#25512;?#38145;限制。

不过,我?#19988;部?#20197;使用多进程的架构来提高程序的并发,?#37096;?#20197;选择不同的 Python 实现来运行我们的程序。

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

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

热点关注

回顶部 新版反馈 回到首页
官方新版意见收集

*

官方新版意见收集

提交成功,?#34892;?#24744;的反馈。

我们会认真阅读和考虑每个用户的反馈。

魔兽世界历史