A级片三级毛片中文字幕|97人人干人人爱|aaaaa毛片亚洲av资源网|超碰97在线播放|日本一a级毛片欧美一区黄|日韩专区潮吹亚洲AV无码片|人人香蕉视频免费|中文字幕欧美激情极品|日本高清一级免费不卡|国模大胆在线国产啪视频

AQF
首頁(yè) 備考指南 精品課程 名師團(tuán)隊(duì) 職業(yè)前景
您現(xiàn)在的位置:首頁(yè)職業(yè)前景職業(yè)發(fā)展 提高Python程序執(zhí)行性能的7個(gè)習(xí)慣

提高Python程序執(zhí)行性能的7個(gè)習(xí)慣

發(fā)表時(shí)間: 2018-09-10 09:43:23 編輯:jc

“人生苦短,我用Python”,這句話很精髓地體現(xiàn)了Python這門編程語(yǔ)言的特點(diǎn),就是開發(fā)高效。

提高Python程序執(zhí)行性能的7個(gè)習(xí)慣

人生苦短,我用Python”,這句話很精髓地體現(xiàn)了Python這門編程語(yǔ)言的特點(diǎn),就是開發(fā)高效。Python的語(yǔ)法表現(xiàn)力很強(qiáng)、很靈活,同時(shí)擁有大量?jī)?yōu)秀的第三方庫(kù)。

python

不過(guò)任何事物都不可能是完美的,很多人詬病Python的執(zhí)行性能低,沒(méi)有C、Java等語(yǔ)句強(qiáng)。

其實(shí)關(guān)于這個(gè)問(wèn)題,我個(gè)人認(rèn)為大可不必過(guò)于糾結(jié),沒(méi)有完美的工具,只有適合的場(chǎng)景。所以,選擇一門語(yǔ)句時(shí),要看是用于什么地方。大多數(shù)情況下,Python還是非常適合的。

但不同的編碼習(xí)慣,還是會(huì)影響Python的執(zhí)行效率的,CPU的執(zhí)行和內(nèi)存的占用??偨Y(jié)了7個(gè)日常的習(xí)慣,可以提高Python程序執(zhí)行性能。

1使用局部變量

盡量使用局部變量替代全局變量,這樣利于提升性能和節(jié)約內(nèi)存。

例如:

ls=os.linesep

原因:

搜索本地變量速度更快

使用短的命名替代長(zhǎng)的模塊命名,更便于閱讀

2減少一些函數(shù)的調(diào)用

判斷對(duì)象類型時(shí),較好使用isinstance(),而不是type(),這樣性能更好。

在一個(gè)循環(huán)里不要重復(fù)執(zhí)行一個(gè)判斷條件函數(shù),例如:

whilei>len(a):

pass

#len()浪費(fèi)不必的CPU計(jì)算資源

使用fromXimportY,替代importX;X.Y,可以減少查找模塊次數(shù)。

3使用映射替代條件判斷

映射的查找速度是遠(yuǎn)高于條件語(yǔ)句的,例如:

#判斷的方式

ifa==1:

b==10

elifa==2:

b==20

#映射的方式

d={1:10,2:20}

b=d[a]

>>>點(diǎn)擊咨詢python編程基礎(chǔ)課程

4直接迭代序列的元素

序列類型包括:str、list、tuple,直接迭代序列元素幣迭代元素索引更快。

a=[1,2,3]

#直接迭代的方式

foritemina:

printitem

#通過(guò)索引的方式

foriinrange(len(a)):

printa[i]

5生成器替代列表推導(dǎo)

列表推導(dǎo)會(huì)產(chǎn)生一個(gè)空的list,而生成器是延時(shí)產(chǎn)生數(shù)據(jù)的,對(duì)內(nèi)存更友好。

#列表推導(dǎo)

l=sum([len(word)forlineinfforwordinline.split()])

#生成器

l=sum(len(word)forlineinfforwordinline.split())

6先編譯后執(zhí)行

如果需要eval()和exec()執(zhí)行code,較好先編譯成bytecode,所以使用compile()編譯替代str。

其中正則表達(dá)式也先編譯,再匹配,例如:

re.complie()

7模塊程序運(yùn)行習(xí)慣

在模塊里要執(zhí)行一些測(cè)試的時(shí)候,要注明主函數(shù),如:

defmain():

pass

if__name__=='__main__':

main()

這樣避免引用時(shí),導(dǎo)致不必要的執(zhí)行。

>>>點(diǎn)擊加入群聊:金融寬客交流

掃碼立享AQF超值體驗(yàn)課喲!

吐槽

對(duì)不起!讓你吐槽了

/500

上傳圖片

    可上傳3張圖片

    2001-2025 上海金程教育科技有限公司 All Rights Reserved. 信息系統(tǒng)安全等級(jí):三級(jí)
    中央網(wǎng)信辦舉報(bào)中心 上海市互聯(lián)網(wǎng)舉報(bào)中心 不良信息舉報(bào)郵箱:law@gfedu.net
    滬ICP備14042082號(hào) 滬B2-20240743 通過(guò)ISO9001:2015 國(guó)際質(zhì)量管理體系認(rèn)證 滬公網(wǎng)安備31010902103762號(hào) 出版物經(jīng)營(yíng)許可證 電子營(yíng)業(yè)執(zhí)照

    掃描二維碼登錄金程網(wǎng)校

    請(qǐng)使用新版 金程網(wǎng)校APP 掃碼完成登錄

    登錄即同意金程網(wǎng)校協(xié)議及《隱私政策》