python历史:

于1989年开发完成,1991年发布第一个版本

创始人:

 Guido van Rossum(荷兰人)

 

python的特点:

解释性:python是一种解释性语言,计算机直接运行.py脚本,在运行的时候将每个语句翻译成为cpu能过识别的机器码。

   易于学习:关键字少,不需要大量的记忆。

   可移植:能够较好的将python源代码跨平台在unix,linux,windows上。

   可扩展:如果希望加密某些代码,可以用c/c++/java编写,在python脚本里调用它。

   可嵌入:可以在c/c++/java文件里面调用python脚本。

 

python的缺点:

运行速度慢:因为python是解释性语言,运行python的时候必须先将.py的每一句先解释为机器码,然后cpu才能运行。作为对比,c/c++/java这类编译型的语言,它们在运行源代码前,会将.c/.cpp文件编译成为机器码,计算机只需要运行这些机器码就可以了。因此,python除了要运行机器码,还多了一个解释的过程,运行速度慢也是没办法避免的。

 

无保密性:python脚本不能编译,因此对外发布的时候所有python从业者都可以读懂该脚本。而c/c++/java源代码经过编译编程机器码。一般的从业者不能读懂机器码,因此,c/c++/java开发者只需要对外发布机器码就可以了。

 

python的缺点这么明显,为什么又要学习python呢?

 

回答这个问题之前,首先要引入两个概念:数据密集型任务和I/O密集型任务

数据密集型任务:该任务频繁使用cpu进行计算,速度很快。

I/O密集型任务:该任务频繁使用硬盘,读写需要花费很长时间,或者频繁进行网络的请求,网络的等待也需要很长时间。

 

    因此对于需要大量计算的任务,即数据密集型任务,要求cpu对程序运行速度很快,c/c++/java更合适,python是应付不过来的。

    对于I/O密集型任务,cpu对于python脚本的运行速度不快,但是这些任务实际上也需要花费很长的时间,因此不要求cpu对于任务的执行速度有多快。python在完美胜任这些任务同时可以发挥python的特点。