在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

前言

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

1. 了解你的內置函數

這一技巧有助于節省您的時間和時間與您的代碼。當我開始學習Python的時候,我以前從不使用內置函數,所以為了完成我的絕對值代碼,我會運行一個for循環而不是使用abs()。為了把一個字符轉換成大寫字母,我甚至會把它轉換成與大寫字母等價的ASCII字符,因為我拒絕學習字符串函數。

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

2. A,B=B,A

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

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

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

3. 只在函數內導入

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

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

4. 使用Numba

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

Numba目前也支持其他功能,但是,我認為它目前主要是為科學Python開發人員提供的。

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4344

    瀏覽量

    62813
  • 源代碼
    +關注

    關注

    96

    文章

    2946

    瀏覽量

    66836
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84883
收藏 人收藏

    評論

    相關推薦

    安徽順豐與中原快運簽約,共筑B2B物流合作新標桿

    近日,順豐集團傳來喜訊,安徽順豐與中原快運在合肥正式簽署了合作協議。此次簽約標志著雙方在B2B、F2B等物流領域的深入合作即將全面展開,共同致力于構建一個更加綜合、高效的物流服務體系。 簽約儀式上
    的頭像 發表于 12-16 10:31 ?298次閱讀

    對比Python與Java編程語言

    使得編寫代碼更加靈活,但也可能導致運行時錯誤。 Java 語法相對冗長,需要顯式聲明變量類型,增加了代碼的可讀性和安全性。 靜態類型系統在編譯時進行類型檢查,減少了運行時錯誤。 二、性能 Python 解釋型語言,
    的頭像 發表于 11-15 09:31 ?382次閱讀

    LMK05318在TICS Pro中怎樣設置,可以加快同步的速度,實現幾分鐘之內相位同步?

    同步可能需要數小時。請問在TICS Pro中怎樣設置,可以加快同步的速度,實現幾分鐘之內相位同步?可以接受同步過程中輸出頻率的偏差,但要求相位快速同步。附件是我這次的使用的配置文件,請問這樣的配置是否有問題?
    發表于 11-12 06:46

    AM625SIP處理器如何透過整合LPDDR4,加快開發速度

    電子發燒友網站提供《AM625SIP處理器如何透過整合LPDDR4,加快開發速度.pdf》資料免費下載
    發表于 08-28 10:47 ?0次下載
    AM625SIP處理器如何透過整合LPDDR4,<b class='flag-5'>加快</b>開發<b class='flag-5'>速度</b>

    晶閘管導通的情況

    晶閘管作為一重要的電力電子器件,其導通狀態受多種因素影響。以下是晶閘管導通的詳細情況,每種情況都結合了晶閘管的工作原理、結構特性及外部條件進行闡述。
    的頭像 發表于 08-27 16:25 ?2567次閱讀

    使用labview調用python運行一段時間后,報錯

    使用labview調用python運行一段時間后,報錯。 labview版本:2018*64; python:3.6x64 怎么解決~
    發表于 08-26 10:16

    pytorch和python的關系是什么

    ,PyTorch已經成為了一個非常受歡迎的框架。本文將介紹PyTorch和Python之間的關系,以及它們在深度學習領域的應用。 Python簡介 Python是一高級、解釋型、通用
    的頭像 發表于 08-01 15:27 ?2135次閱讀

    Python建模算法與應用

    Python作為一功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python在多個平臺
    的頭像 發表于 07-24 10:41 ?609次閱讀

    安裝esp-idf-tools-setup-offline-5.1.2.exe到結尾運行python時顯示應用程序無法正常啟動如何解決?

    安裝esp-idf-tools-setup-offline-5.1.2.exe到結尾運行python時顯示應用程序無法正常啟動(0xc000007b),如何解決
    發表于 07-24 07:50

    ubuntu下(python ver 2.7.6)運行python demo_server.py后無反應怎么解決?

    python ver 2.7.6)運行python demo_server.py后無反應 請問該如何正確運行此腳本?
    發表于 07-22 08:20

    如何實現Python復制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現文件復制的特殊方法。下面我們開始學習這九不同的方法來實現
    的頭像 發表于 07-18 14:53 ?448次閱讀

    編譯ESP-AT工程,運行python build.py install命令提示符遇到的疑問求解

    你好,我按照“編譯 ESP-AT 工程”步驟操作時候,走到第三步:安裝環境,運行python build.py install命令提示符,顯示 C
    發表于 06-27 06:05

    esp32c3是否能在40mhz運行,功耗是多少?

    和esp8266 80ma左右?esp32c3是否能在40mhz運行,功耗是多少? 2:esp32c3連接wifi和tcp服務器速度能否加快,esp8266 速度在5-7s左右,esp
    發表于 06-20 06:17

    SOLIDWORKS教育版使學生了解如何加快設計項目的速度

    在當今信息爆炸的時代,設計項目的速度和效率對于工程專業的學生來說至關重要。SOLIDWORKS教育版作為一款專門為學生設計的3D CAD軟件,不僅提供了強大的設計工具,更致力于幫助學生了解如何加快設計項目的速度,提升他們的設計能
    的頭像 發表于 04-09 16:00 ?344次閱讀

    stm32h743是不是可以直接用ICache加快一些速度

    stm32h743是不是可以直接用ICache加快一些速度,而不用DCache,DCache配置ram麻煩?
    發表于 03-08 08:01
    主站蜘蛛池模板: 欧亚色视频| 午夜免费网址| 黄色3级| 四虎永久在线精品网址| 手机看片国产在线| 二级黄的全免费视频| 久久国产精品永久免费网站| 色婷婷久久综合中文久久蜜桃| 欧洲精品不卡1卡2卡三卡| 人妖另类亚洲xxxx| 华人黄网站大全| 免费视频在线视频观看1| 天天干天天爱天天射| 综合网天天操天天射| 国产成人久视频免费| 亚洲夜夜操| 亚洲三级色| 伊人网视频| 夜夜操天天爽| 欧美另类图片亚洲偷| 欧美一级黄色片在线观看| 国产女在线| 午夜黄色影院| 欧美性区| 免费视频h| 91国内在线视频| 一本大道一卡二卡四卡| 无码一区二区三区视频| 亚洲香蕉影院| 色综合天天综一个色天天综合网| 午夜爱爱小视频| 台湾佬自偷自拍情侣在线| 欧美 日韩 中文字幕| 巨尻在线观看| 韩国三级观影久久| 成人网18免费下| 午夜小福利| 男人天堂网址| 亚洲免费网站| xxxx性bbbb| 婷婷色婷婷|