大家好,今天小编关注到一个比较有意思的话题,就是关于python语言慢的问题,于是小编就整理了2个相关介绍Python语言慢的解答,让我们一起看看吧。
为什么有人说Python的执行速度很慢?
Python 比很多语言运行起来都要慢。无论是使用 JIT 编译器的 C#、Java,还是使用 AOT 编译器的 C、c++,又或者是 J***aScript 这些解释型语言,Python 都比它们运行得慢。为什么 Python 比较慢?
主流的说法有这些:
加米谷大数据培训,6月大数据开发0基础班、提高班,成都小班预报名中
相关:为什么 Python 这么慢?
***s://***.toutiao***/i6630644941179585032/
很多程序员不喜欢解释性语言觉得它很慢,就是它在边运行边解释的原因。
其实Python运行起来并不是很慢,首先现在常用的Python其实都是cpython,底层是c语言编写。其次,python在首次运行的时候,会生成.pyc的文件。
pyc文件是py文件编译后生成的字节码文件(byte code)。pyc文件经过python解释器最终会生成机器码运行。所以pyc文件是可以部署的,类似J***a的.class文件。一般py文件改变后,都会重新生成pyc文件。
这个会让很多程序员错觉,觉得它慢,这个只是在IDE调试代码的时候觉得慢了许多,一般的IDE会不断的编译,所以总体下来都不是很快。
不止如此,python的开发效率惊人,python的开发者不必重复很多轮子。就拿一个列表排序来说,python就已经内置好的,不必再到处找包,或者自己去写。自己编写的还不如内置的方法优雅大方。
说到不同编程语言运行快还是慢,根据我个人理解在头条上就给大家讲讲原理,目前的编程语言分为:动态编程语言,静态编译语言,和既有动态也有静态三种模式。1.动态编程语言(解释型)大部分为脚本语言(如Python,J***aScript,vb,lua,等),程序是动态解释的,边运行边解释最后在转化成本地化CPU执行指令,如果有语法错误预先是发现不了只会在执行是会检查出;2.静态编程语言(c,C++等),静态语言指的是直接把程序编译成二进制的机器可以直接运行的机器码,在语法上会预先进行处理语法验证;3.既有动态又有动态(J***a,c#,等)这些语言会首先把语言先转化为自定义的中间语言这种语言与汇编非常类似,如果是动态的话会把中间代码变解释变执行,如果是静态的他们会把中间语言直接编译成本地指令集.呵呵最后总结一下,综上所述:从语言运行速度上排,1.静态编程语言;2.既有静态又有动态;3.静态编程语言.以上只是本人个人见解,如有漏洞望各位网络大人指教一二!喜欢的读者可添加”嘿咪编程专家”或转发观点!后续会有更多观点与大家分享
为什么Python比C++慢很多?
我尝试下用通俗的话来解释这个问题,有问题或者有更好的看法欢迎在评论区讨论。
C++是一门编译型语言,所有代码都会在编译阶段翻译成机器码,机器码就是能够直接理解的码,实际执行直接调用即可,只翻译一次机器码,所以很快。
而Python是一门解释性语言,解释性语言简单来说就是你可以通过比较简单的语句来表达你的逻辑关系和判断,然后跨平台去使用它,有着简单、方便的开发性能,因为运行一次翻译一次机器码,所以性能相比C++较差。
从运行效率看,C++确实比Python要好很多。首先,Python的东西比C++复杂,基本上所有变量都是对象。其次,Python是跨平台执行的,多了一层解释器,所以每次运行都要跑一遍,但C++一次编译就以后就不需要再编译了,除非代码改动,所以少了中间层自然快些。
从开发效率看,Python就要比C++要好不少,Python一两句可以搞定的逻辑,C++往往都要写一大堆,这不是黑,我也写C++。用C++可能写个东西终于写好了,搞不好过几天又内存泄漏,而且跨平台开发实在难受,这时候你就会想起Python的“人生苦短,我用Python”这句至理名言。
现在来看一个具体的例子,C/C++、J***a以及Python的测试比较,用的是Win8、I5 4670k,内存8G的电脑[_a***_]。
到此,以上就是小编对于Python语言慢的问题就介绍到这了,希望介绍关于Python语言慢的2点解答对大家有用。