国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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等等,當我完成我的代碼時,我只使用了三個庫。這會耗盡你電腦的內存。

相反,在相應的函數中導入所需的庫(如果多個函數需要相同的庫,則需要多次導入)。這意味著解釋器只會在你調用函數時完成導入,而不是在代碼的開頭?,F在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

    文章

    4417

    瀏覽量

    67502
  • 源代碼
    +關注

    關注

    96

    文章

    2953

    瀏覽量

    70308
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    關于電機工頻運行與變頻器下運行的區別

    電機作為現代工業的核心動力設備,其運行方式的選擇直接影響設備效率、能耗及壽命。工頻運行與變頻器驅動是兩典型的工作模式,二者在技術原理、性能表現及適用場景上存在顯著差異。以下從工作原理、能效特性、控制精度、機械影響及適用領域
    的頭像 發表于 03-03 17:07 ?451次閱讀

    1688 商品詳情 API 調用與數據解析 Python 實戰

    你想要的是 1688 商品詳情 API 的 Python 調用與數據解析實戰方案,核心是完成 API 憑證配置、接口請求(含簽名)、響應數據解析、異常處理 的全流程落地,我會提供可直接運行的代碼,并
    的頭像 發表于 02-10 11:23 ?252次閱讀

    Python運行本地Web服務并實現遠程訪問

    本文介紹使用Python搭建本地Web服務并結合 ZeroNews 實現公網訪問。
    的頭像 發表于 02-06 11:39 ?149次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>運行</b>本地Web服務并實現遠程訪問

    沒有專利的opencv-python 版本

    所有 官方發布的 opencv-python 核心版本(無 contrib 擴展)都無專利風險——專利問題僅存在于 opencv-contrib-python 擴展模塊中的少數算法(如早期 SIFT
    發表于 12-13 12:37

    Termux中調試圣誕樹Python代碼

    在Termux中調試Python代碼(以圣誕樹立例)非常簡單,核心分為環境準備、代碼編寫、運行調試三個步驟,下面一步步教你操作: 一、環境準備(首次使用需做) Termux默認可能沒有Python
    發表于 12-09 09:02

    浮點擴展指令集中定義的舍入模式

    本文主要描述浮點擴展指令集中定義的舍入模式,并介紹一些實現時要注意的地方。 舍入模式介紹 首先,在riscv-spec-v2.2的浮點指令集擴展部分一共定義了不同的舍入模式,
    發表于 10-24 10:25

    Pico Technology發布Python軟件包pyPicoSDK

    現有 PicoSDK 的基礎上構建,使工程師、開發人員和業余愛好者能夠創建 Python 腳本,更加快速方便地控制其 PicoScope 設備。
    的頭像 發表于 09-29 15:03 ?948次閱讀

    termux調試python猜數字游戲

    保存并運行 - `Ctrl+O` → `Enter` 保存文件 - `Ctrl+X` 退出編輯器 - 運行命令: ```bash python guess_number.py ``` 2. 游戲
    發表于 08-29 17:15

    速度與激情的碰撞:直線電機如何實現超高速運行

    在工業自動化領域,生產效率往往與運動速度直接掛鉤。無論是半導體芯片的制造,還是鋰電池的極耳切割,都對運動系統的速度提出了近乎苛刻的要求。傳統“旋轉電機+滾珠絲杠”的傳動方案受其機械結構的先天限制,在
    的頭像 發表于 08-29 09:48 ?662次閱讀

    termux如何搭建python游戲

    termux如何搭建python游戲 Termux搭建Python游戲開發環境的完整指南 一、Termux基礎環境準備 Termux是一款無需root即可在安卓設備上運行的Linux終端
    發表于 08-29 07:06

    python app不能運行怎么解決?

    我使用helloword的模板,上傳了IG502,但不能運行,請大神幫忙。系統日志如下:sntpc[1226]: ntp request error: 113, No route to host
    發表于 08-06 06:27

    STM32IDE如何設定代碼到ITCM中運行

    近期使用STM32MUX生成STM32IDE的代碼(MCU是STM32H743),目前希望可以將部分代碼定位到ITCM中運行,加快處理速度,關于代碼中的.id鏈接文件,該部分資料比較少,目前我只
    發表于 06-24 06:45

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一個簡單的Python程序。什么是
    的頭像 發表于 03-25 09:27 ?2032次閱讀
    零基礎入門:如何在樹莓派上編寫和<b class='flag-5'>運行</b><b class='flag-5'>Python</b>程序?

    請問是否可以使用單個輸入圖像運行人臉檢測MTCNN Python演示?

    是否可以使用單個輸入圖像運行人臉檢測 MTCNN Python* 演示?
    發表于 03-06 08:15

    使用Yolo-v3-TF運行OpenVINO?對象檢測Python演示時的結果不準確的原因?

    通過模型下載器下載了 yolo-v3-tf: ./downloader.py --name yolo-v3-tf 通過模型 優化器轉換模型: python3 ./model_optimizer
    發表于 03-06 06:31