chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

加快運(yùn)行Python速度的五種技巧

如意 ? 來源:Python學(xué)會(huì) ? 作者:Huangwei AI ? 2021-01-04 17:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

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

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

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

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

2. A,B=B,A

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

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

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

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

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

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

4. 使用Numba

這是一個(gè)小眾技巧,主要幫助使用NumPy或科學(xué)編程的人。Numba是一個(gè)Python JIT編譯器,它對(duì)函數(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)”。這個(gè)小小的改變將提高您的運(yùn)行時(shí)效率,因?yàn)镻ython使用了可調(diào)整大小的哈希表,將平均時(shí)間復(fù)雜度提高到了O(1)。

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

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

    關(guān)注

    3

    文章

    4400

    瀏覽量

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

    關(guān)注

    96

    文章

    2953

    瀏覽量

    69257
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4848

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Pico Technology發(fā)布Python軟件包pyPicoSDK

    現(xiàn)有 PicoSDK 的基礎(chǔ)上構(gòu)建,使工程師、開發(fā)人員和業(yè)余愛好者能夠創(chuàng)建 Python 腳本,更加快速方便地控制其 PicoScope 設(shè)備。
    的頭像 發(fā)表于 09-29 15:03 ?416次閱讀

    termux調(diào)試python猜數(shù)字游戲

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

    termux如何搭建python游戲

    termux如何搭建python游戲 Termux搭建Python游戲開發(fā)環(huán)境的完整指南 一、Termux基礎(chǔ)環(huán)境準(zhǔn)備 Termux是一款無需root即可在安卓設(shè)備上運(yùn)行的Linux終端
    發(fā)表于 08-29 07:06

    python app不能運(yùn)行怎么解決?

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

    STM32IDE如何設(shè)定代碼到ITCM中運(yùn)行

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

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

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

    請(qǐng)問是否可以使用單個(gè)輸入圖像運(yùn)行人臉檢測MTCNN Python演示?

    是否可以使用單個(gè)輸入圖像運(yùn)行人臉檢測 MTCNN Python* 演示?
    發(fā)表于 03-06 08:15

    創(chuàng)建OpenVINO? Python腳本,運(yùn)行可執(zhí)行文件時(shí)遇到的報(bào)錯(cuò)怎么解決?

    創(chuàng)建OpenVINO? Python 腳本: from openvino.inference_engine import IECore ie = IECore() print(\"
    發(fā)表于 03-05 10:20

    無法在Windows Subsystem for Linux 2上使用對(duì)象檢測Python演示運(yùn)行YoloV4模型?

    在 WSL2 上運(yùn)行對(duì)象檢測 python 演示。 使用 CPU 運(yùn)行 object_detection_demo.py 時(shí)遇到錯(cuò)誤: OpenCV: FFMPEG: tag
    發(fā)表于 03-05 08:43

    是否可以使用OpenVINO?部署管理器在部署機(jī)器上運(yùn)行Python應(yīng)用程序?

    使用 OpenVINO?部署管理器創(chuàng)建運(yùn)行時(shí)軟件包。 將運(yùn)行時(shí)包轉(zhuǎn)移到部署機(jī)器中。 無法確定是否可以在部署機(jī)器上運(yùn)行 Python 應(yīng)用程序,而無需安裝OpenVINO? Toolk
    發(fā)表于 03-05 08:16

    運(yùn)行OVModelForCausalLM Python模塊時(shí)出錯(cuò)了,怎么解決?

    創(chuàng)建了一個(gè)自定義 Python* 代碼,類似于遵循 240-dolly-2-instruction 的 Jupyter 筆記本。 OVModelForCausalLM Python* 模塊運(yùn)行時(shí)出錯(cuò)。
    發(fā)表于 03-05 06:44

    類網(wǎng)線傳輸速度可以達(dá)到多少

    類網(wǎng)線(CAT5e)的傳輸速度可以達(dá)到1000Mbps(即1Gbps)。以下是對(duì)超類網(wǎng)線傳輸速度的詳細(xì)分析: 一、理論傳輸速度
    的頭像 發(fā)表于 02-25 10:14 ?8812次閱讀

    安徽順豐與中原快運(yùn)簽約,共筑B2B物流合作新標(biāo)桿

    近日,順豐集團(tuán)傳來喜訊,安徽順豐與中原快運(yùn)在合肥正式簽署了合作協(xié)議。此次簽約標(biāo)志著雙方在B2B、F2B等物流領(lǐng)域的深入合作即將全面展開,共同致力于構(gòu)建一個(gè)更加綜合、高效的物流服務(wù)體系。 簽約儀式上
    的頭像 發(fā)表于 12-16 10:31 ?893次閱讀

    對(duì)比Python與Java編程語言

    使得編寫代碼更加靈活,但也可能導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。 Java 語法相對(duì)冗長,需要顯式聲明變量類型,增加了代碼的可讀性和安全性。 靜態(tài)類型系統(tǒng)在編譯時(shí)進(jìn)行類型檢查,減少了運(yùn)行時(shí)錯(cuò)誤。 二、性能 Python 解釋型語言,
    的頭像 發(fā)表于 11-15 09:31 ?1805次閱讀

    LMK05318在TICS Pro中怎樣設(shè)置,可以加快同步的速度,實(shí)現(xiàn)幾分鐘之內(nèi)相位同步?

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