我们之前一定听有人说过,python的执行速度比其他语言慢。
python会运行慢的原因:
1、python是动态性语言不是静态性语言
这是说在python程序执行的时候,编译器不知道变量的类型。图1.展示了C语言中的变量与python中变量的区别。在C中编译器知道变量在定义时的类型,而python中执行的时候只知道它是一个对象。
2、python是解释性语言而不是编译性语言
解释型语言与编译型语言它们本身的区别也会造成程序在执行的时候的速度差异。一个智能化的编译器可以预测并针对重复和不需要的操作进行优化。这也会提升程序执行的速度。
3、python的对象模型会导致访问内存效率低下
在上面的例子中,相对于C语言,在python中对整数进行操作会有一个额外的类型信息层。当有很多的整数并且希望进行某种批操作时,在python中往往会使用一个list,而在C中会使用某个基于缓存区的数组。
4、为什么我们还要使用python
既然用pytho处理数据那么低效,那么为什么我们还要使用python呢?主要是因为,python是动态的语言,它比C更加的容易上手使用,而且用法更加的灵活和兼容,这可以极大的节省开发时间。而且,python是开源的,跨平台,具有很强的移植性。在那些真正需要运用C或Fortran进行优化的场合中,python都有强大的API或库进行支持。这就是为什么Python在许多科学社区中的使用一直在不断增长。所以,Python最终成为使用代码进行科学研究的总体任务的极其有效的语言。