python运行速度慢是解释器的原因_python为什么会运行慢
我們之前一定聽有人說(shuō)過(guò),python的執(zhí)行速度比其他語(yǔ)言慢。
python會(huì)運(yùn)行慢的原因:
1、python是動(dòng)態(tài)性語(yǔ)言不是靜態(tài)性語(yǔ)言
這是說(shuō)在python程序執(zhí)行的時(shí)候,編譯器不知道變量的類型。圖1.展示了C語(yǔ)言中的變量與python中變量的區(qū)別。在C中編譯器知道變量在定義時(shí)的類型,而python中執(zhí)行的時(shí)候只知道它是一個(gè)對(duì)象。
2、python是解釋性語(yǔ)言而不是編譯性語(yǔ)言
解釋型語(yǔ)言與編譯型語(yǔ)言它們本身的區(qū)別也會(huì)造成程序在執(zhí)行的時(shí)候的速度差異。一個(gè)智能化的編譯器可以預(yù)測(cè)并針對(duì)重復(fù)和不需要的操作進(jìn)行優(yōu)化。這也會(huì)提升程序執(zhí)行的速度。
3、python的對(duì)象模型會(huì)導(dǎo)致訪問(wèn)內(nèi)存效率低下
在上面的例子中,相對(duì)于C語(yǔ)言,在python中對(duì)整數(shù)進(jìn)行操作會(huì)有一個(gè)額外的類型信息層。當(dāng)有很多的整數(shù)并且希望進(jìn)行某種批操作時(shí),在python中往往會(huì)使用一個(gè)list,而在C中會(huì)使用某個(gè)基于緩存區(qū)的數(shù)組。
4、為什么我們還要使用python
既然用pytho處理數(shù)據(jù)那么低效,那么為什么我們還要使用python呢?主要是因?yàn)?#xff0c;python是動(dòng)態(tài)的語(yǔ)言,它比C更加的容易上手使用,而且用法更加的靈活和兼容,這可以極大的節(jié)省開發(fā)時(shí)間。而且,python是開源的,跨平臺(tái),具有很強(qiáng)的移植性。在那些真正需要運(yùn)用C或Fortran進(jìn)行優(yōu)化的場(chǎng)合中,python都有強(qiáng)大的API或庫(kù)進(jìn)行支持。這就是為什么Python在許多科學(xué)社區(qū)中的使用一直在不斷增長(zhǎng)。所以,Python最終成為使用代碼進(jìn)行科學(xué)研究的總體任務(wù)的極其有效的語(yǔ)言。
總結(jié)
以上是生活随笔為你收集整理的python运行速度慢是解释器的原因_python为什么会运行慢的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql的indata文件_【数据分析
- 下一篇: lasso特征选择python_转:结合