0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

加快運行Python速度的五種技巧

如意 ? 來源:Python學(xué)會 ? 作者:Huangwei AI ? 2021-01-04 17:14 ? 次閱讀

前言

我們都知道就速度而言,Python是比Java或C慢得多的語言。Python是動態(tài)類型化的語言,這意味著它的變量類型未預(yù)定義。動態(tài)類型是一把雙刃劍,它成就了Python成為一種優(yōu)雅的語言,同時也讓Python運行速度減慢。讓我們看看一些可能對您的整體代碼性能產(chǎn)生重大影響的小技巧。

1. 了解你的內(nèi)置函數(shù)

這一技巧有助于節(jié)省您的時間和時間與您的代碼。當(dāng)我開始學(xué)習(xí)Python的時候,我以前從不使用內(nèi)置函數(shù),所以為了完成我的絕對值代碼,我會運行一個for循環(huán)而不是使用abs()。為了把一個字符轉(zhuǎn)換成大寫字母,我甚至?xí)阉D(zhuǎn)換成與大寫字母等價的ASCII字符,因為我拒絕學(xué)習(xí)字符串函數(shù)。

如果你對Python是認(rèn)真的,那么學(xué)習(xí)所有的Python內(nèi)置函數(shù)是值得的,因為它不僅使你的代碼更整潔、更可重用,你還可以通過簡單地使用Python提供給你的東西來避免代碼中人為的低效率。

2. A,B=B,A

我確信您以前使用過“temp”作為占位符變量來交換兩個元素。我能告訴你的是,這個方法只在課堂上使用,不應(yīng)該在編程時使用。

相反,可以通過將變量寫成a,b = b,a 來進行簡單的變量交換。這將在一行中切換所有變量,并防止解釋器超過三個(temp, a,b交換方法)。

這是一個小小的修復(fù),可以節(jié)省幾分之一秒的時間——但從長遠來看,這些時間會累積起來。

3. 只在函數(shù)內(nèi)導(dǎo)入

作為一個初學(xué)者,我們都喜歡大量導(dǎo)入我們認(rèn)為在代碼頂部需要的所有東西。我記得有一次我導(dǎo)入了NumPy, Pandas, Scipy, Warnings, Math, Math, Os等等,當(dāng)我完成我的代碼時,我只使用了三個庫。這會耗盡你電腦的內(nèi)存。

相反,在相應(yīng)的函數(shù)中導(dǎo)入所需的庫(如果多個函數(shù)需要相同的庫,則需要多次導(dǎo)入)。這意味著解釋器只會在你調(diào)用函數(shù)時完成導(dǎo)入,而不是在代碼的開頭?,F(xiàn)在Python庫被緩存了,所以當(dāng)你調(diào)用不同的函數(shù)時,它不會在每次導(dǎo)入時占用額外的時間。然而,當(dāng)您最終導(dǎo)入頂部的所有內(nèi)容,甚至不使用代碼中的一些函數(shù)時,它確實會占用更多的時間。

4. 使用Numba

這是一個小眾技巧,主要幫助使用NumPy或科學(xué)編程的人。Numba是一個Python JIT編譯器,它對函數(shù)應(yīng)用裝飾器,將一些函數(shù)轉(zhuǎn)換為超快的字節(jié)代碼(幾乎與C一樣快)。Numba開始因其簡單和龐大的功能而出名。

Numba目前也支持其他功能,但是,我認(rèn)為它目前主要是為科學(xué)Python開發(fā)人員提供的。

5. 從集合中檢查,而不是從列表中

這是Python優(yōu)化書中最古老的技巧之一。如果存在元素,不要在列表中搜索。相反,將列表設(shè)置為set(set(list)),然后執(zhí)行檢查“element in set(list)”。這個小小的改變將提高您的運行時效率,因為Python使用了可調(diào)整大小的哈希表,將平均時間復(fù)雜度提高到了O(1)。

然而,遍歷集合并不比遍歷列表快。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4262

    瀏覽量

    62238
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2943

    瀏覽量

    66571
  • python
    +關(guān)注

    關(guān)注

    54

    文章

    4759

    瀏覽量

    84296
收藏 人收藏

    評論

    相關(guān)推薦

    python運行環(huán)境的安裝和配置

    Python是一非常流行的編程語言,廣泛應(yīng)用于科學(xué)計算、Web開發(fā)、人工智能等領(lǐng)域。為了能夠正常運行Python程序,我們需要先安裝和配置Pyth
    的頭像 發(fā)表于 11-29 16:17 ?1041次閱讀

    Python運行環(huán)境有哪些

    Python是一廣泛使用的高級編程語言,它有許多種運行環(huán)境,可以適應(yīng)不同的開發(fā)需求。下面將詳細介紹Python的幾種常見的運行環(huán)境。 CP
    的頭像 發(fā)表于 11-29 16:14 ?1793次閱讀

    python運行完后為什么會閃退

    Python是一高級編程語言,用于開發(fā)各種應(yīng)用程序和腳本。當(dāng)你運行一個Python程序時,計算機會首先加載并解釋代碼,然后按照代碼的邏輯執(zhí)行相應(yīng)的操作。然而,有時候程序可能會突然閃退
    的頭像 發(fā)表于 11-29 15:14 ?8204次閱讀

    python運行指定幾行

    Python是一高級編程語言,可以用于開發(fā)各種類型的應(yīng)用程序,包括網(wǎng)站、桌面應(yīng)用程序、數(shù)據(jù)分析和人工智能等。在Python運行指定的幾行代碼十分簡單,它不僅能夠幫助程序員快速開發(fā)軟
    的頭像 發(fā)表于 11-29 15:04 ?858次閱讀

    python軟件怎么運行代碼

    Python是一高級編程語言,它被廣泛用于開發(fā)各種類型的應(yīng)用程序,從簡單的腳本到復(fù)雜的網(wǎng)絡(luò)應(yīng)用和機器學(xué)習(xí)模型。要運行Python代碼,您需要一個P
    的頭像 發(fā)表于 11-28 16:02 ?820次閱讀

    運行Python程序的幾種常見方法

    Python是一高級編程語言,具有簡單易學(xué),易于閱讀和調(diào)試的特點。當(dāng)你完成了一個Python程序之后,你需要運行它以檢查程序是否按照預(yù)期工作。下面是
    的頭像 發(fā)表于 11-28 15:32 ?2162次閱讀

    python運行程序出現(xiàn)紅色空白

    當(dāng)你運行Python程序時,如果出現(xiàn)紅色空白,這通常意味著有一個錯誤發(fā)生了。這個錯誤可能是由多種原因造成的,本文將詳細介紹可能的原因和解決方法,幫助你解決這個問題。 語法錯誤:Python是一
    的頭像 發(fā)表于 11-28 15:30 ?1660次閱讀

    如何運行Python程序

    運行Python程序非常簡單。Python是一解釋型語言,這意味著可以直接通過解釋器來執(zhí)行代碼。下面我將詳細介紹如何運行
    的頭像 發(fā)表于 11-24 09:31 ?1073次閱讀

    python代碼寫完后點哪個運行

    當(dāng)你完成了編寫Python代碼后,你可以選擇多種方式來運行它。下面是幾種常見的運行代碼的方式: Python解釋器:Python是一
    的頭像 發(fā)表于 11-24 09:28 ?4214次閱讀

    python怎么運行程序

    Python是一廣泛使用的編程語言,它的簡易和可讀性使得它成為初學(xué)者和專業(yè)開發(fā)人員的首選。在運行Python程序之前,您需要安裝Python
    的頭像 發(fā)表于 11-24 09:25 ?2432次閱讀

    python運行一次自動再次運行

    使用循環(huán)語句是最簡單的一實現(xiàn)自動運行功能的方法。在Python中,可以使用while循環(huán)或for循環(huán)來實現(xiàn)。下面是一個使用while循環(huán)實現(xiàn)自動運行的例子: while True
    的頭像 發(fā)表于 11-23 15:52 ?1677次閱讀

    python如何查看運行過程

    Python是一門高級編程語言,可以用于開發(fā)各種類型的應(yīng)用程序、網(wǎng)站和數(shù)據(jù)分析。當(dāng)我們編寫并運行Python程序時,有時候需要了解程序執(zhí)行的詳細過程,以便調(diào)試代碼和理解程序的執(zhí)行流程。下面將介紹幾種
    的頭像 發(fā)表于 11-22 11:13 ?1758次閱讀

    python寫完程序之后怎么運行

    Python是一門簡潔、易學(xué)的編程語言,被廣泛應(yīng)用于數(shù)據(jù)分析、人工智能等領(lǐng)域。在學(xué)習(xí)Python編程的過程中,了解程序的運行機制是至關(guān)重要的。本文將詳盡解析Python程序的
    的頭像 發(fā)表于 11-22 11:10 ?906次閱讀

    python怎樣運行代碼

    討論Python代碼的運行方式,包括解釋器、交互式環(huán)境和命令行。 Python代碼可以通過兩主要的方式運行:解釋執(zhí)行和編譯執(zhí)行。解釋執(zhí)行是
    的頭像 發(fā)表于 11-22 10:31 ?1089次閱讀

    如何加快32的運行速度

    如何會加快32的運行速度
    發(fā)表于 11-06 07:58