国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

六個(gè)竅門助你提高Python運(yùn)行效率

2020-02-23 01:35:12
字體:
供稿:網(wǎng)友

不喜歡Python的人經(jīng)常會(huì)吐嘈Python運(yùn)行太慢。但是,事實(shí)并非如此。嘗試以下六個(gè)竅門,來為你的Python應(yīng)用提速。

竅門一:關(guān)鍵代碼使用外部功能包

Python簡(jiǎn)化了許多編程任務(wù),但是對(duì)于一些時(shí)間敏感的任務(wù),它的表現(xiàn)經(jīng)常不盡人意。使用C/C++或機(jī)器語言的外部功能包處理時(shí)間敏感任務(wù),可以有效提高應(yīng)用的運(yùn)行效率。這些功能包往往依附于特定的平臺(tái),因此你要根據(jù)自己所用的平臺(tái)選擇合適的功能包。簡(jiǎn)而言之,這個(gè)竅門要你犧牲應(yīng)用的可移植性以換取只有通過對(duì)底層主機(jī)的直接編程才能獲得的運(yùn)行效率。以下是一些你可以選擇用來提升效率的功能包:

Cython
Pylnlne
PyPy
Pyrex

這些功能包的用處各有不同。比如說,使用C語言的數(shù)據(jù)類型,可以使涉及內(nèi)存操作的任務(wù)更高效或者更直觀。Pyrex就能幫助Python延展出這樣的功能。Pylnline能使你在Python應(yīng)用中直接使用C代碼。內(nèi)聯(lián)代碼是獨(dú)立編譯的,但是它把所有編譯文件都保存在某處,并能充分利用C語言提供的高效率。

竅門二:在排序時(shí)使用鍵

Python含有許多古老的排序規(guī)則,這些規(guī)則在你創(chuàng)建定制的排序方法時(shí)會(huì)占用很多時(shí)間,而這些排序方法運(yùn)行時(shí)也會(huì)拖延程序?qū)嶋H的運(yùn)行速度。最佳的排序方法其實(shí)是盡可能多地使用鍵和內(nèi)置的sort()方法。譬如,拿下面的代碼來說:
代碼如下:
    import operator
    somelist = [(1, 5, 8), (6, 2, 4), (9, 7, 5)]
    somelist.sort(key=operator.itemgetter(0))
    somelist
    #Output = [(1, 5, 8), (6, 2, 4), (9, 7, 5)]
    somelist.sort(key=operator.itemgetter(1))
    somelist
    #Output = [(6, 2, 4), (1, 5, 8), (9, 7, 5)]
    somelist.sort(key=operator.itemgetter(2))
    somelist
    #Output = [(6, 2, 4), (9, 7, 5), (1, 5, 8)],

在每段例子里,list都是根據(jù)你選擇的用作關(guān)鍵參數(shù)的索引進(jìn)行排序的。這個(gè)方法不僅對(duì)數(shù)值類型有效,還同樣適用于字符串類型。

竅門三:針對(duì)循環(huán)的優(yōu)化

每一種編程語言都強(qiáng)調(diào)最優(yōu)化的循環(huán)方案。當(dāng)使用Python時(shí),你可以借助豐富的技巧讓循環(huán)程序跑得更快。然而,開發(fā)者們經(jīng)常遺忘的一個(gè)技巧是:盡量避免在循環(huán)中訪問變量的屬性。譬如,拿下面的代碼來說:
代碼如下:
    lowerlist = ['this', 'is', 'lowercase']
    upper = str.upper
    upperlist = []
    append = upperlist.append
    for word in lowerlist:
        append(upper(word))
        print(upperlist)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 边坝县| 安徽省| 凉城县| 洞头县| 都匀市| 石泉县| 海安县| 福海县| 视频| 黄大仙区| 祁东县| 榕江县| 盐津县| 花莲市| 桦南县| 合肥市| 弋阳县| 乐安县| 五莲县| 韶山市| 铜川市| 永丰县| 米泉市| 南雄市| 额敏县| 舒城县| 江门市| 崇左市| 平利县| 喀什市| 和硕县| 云梦县| 鄂州市| 广宁县| 青田县| 平陆县| 襄樊市| 达孜县| 红桥区| 龙南县| 隆昌县|