Python基础:4、python的优缺点

python是一门动态解释性的强类型语言

python的优势:

1. python的定位是"优雅"、"明确"、"简单"python

        python程序看上去老是简单易懂,初学者学python,不但入门容易,二缺未来深刻下去,能够边啊些那些很是复杂的程序。c++

2. 开发效率高算法

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

3. 高级语言工具

        当你用python语言编写程序的时候,你无需开了诸如如何管理程序使用的内存一类细节。测试

4. 可移植性搜索引擎

        因为python的开源本质,python以及高被移植在许多平台上(通过改动使它可以工做在不一样平台上)。若是你当心地避免使用依赖于系统的特性,那么你的全部的python程序无需修改就能够在市场上全部的系统平台上运行。加密

5. 可扩展性spa

        若是你须要你的一段关键代码运行的得更快,或者但愿某些算法不公开,你能够把你的部分程序用c或c++编写,而后在你的python程序中使用它们。操作系统

6. 可嵌入性

        你能够把python嵌入你的c\c++程序,从而向你的程序用户提供脚本功能。

 

python的缺点:

1. 速度慢

        python的运行速度相比于c语言确实慢了不少,跟Java比也要慢写,所以这也是不少人不屑于使用python的缘由,但其实这里所指的运行速度在大多数状况下用户是没法直接感觉到的,必须借助测试工具才能体现出来,好比你用c运行一个程序花了0.01秒,用python是0.1秒,这样c语言比python快了10倍,算是很夸张了,可是你是没法用肉眼直接感知的,由于一个正常人所能感知的时间最小单位是0.15-0.4s左右。其实在大多数状况下,python已经彻底知足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎(这种状况下仍是应该用c去实现)。

2. 代码不能加密

        由于python是解释型语言,它的源代码都是以明文的形式存放的。若是你的项目要求源代码必须是加密的,一开始就不该该用python实现

3.线程不能利用多CPU问题

        这是python被人诟病最多的一个缺点,GIL即全局解释器(GlobalInterpreterLock),是计算机程序设计语言解释器用于同步线程的工具,使得任什么时候刻仅有一个线程在执行。python的线程是操做系统的原生线程,在Linux上为pthread,在Windows上为Winthread,彻底由操做系统调度线程执行。一个python解释器进程内有一条主线程,以及多条用户程序执行的线程,即便在多核CPU平台上,因为GIL的存在,因此禁止多线程的并行执行(有折中方法)。

 

        固然,python还有一些其余的小缺点,这这就不一一列举了。任何一门语言都不是完美的,都有擅长和不擅长作的事情,建议不要用一个语言的劣势和另外一个语言的优点去比较

语言只是一种工具,是实现程序设计师思想的工具,就像咱们以前中学学集合时,优势时候须要圆规,有的时候须要用三角尺同样,拿相应的工具去作它最擅长的工做才是最正确的选择。