日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

初學者開發(fā)人員都會犯的7個Python錯誤

如意 ? 來源:百家號 ? 作者: Victer情報局 ? 2020-06-23 15:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

這篇文章主要介紹了七個初學者常犯的Python調(diào)試錯誤,并告訴大家如何去避免這些錯誤。

1.具有副作用的功能

由于Python不是像Haskell這樣的純函數(shù)式語言,因此會產(chǎn)生副作用。 嚴格來說,這不是一個錯誤,但是很容易無意間手忙腳亂。 下面的示例演示了該問題。

初學者開發(fā)人員都會犯的7個Python錯誤

在Python中,對象是引用類型。 因此,當您將列表作為參數(shù)傳遞時,將傳遞引用而不是值。 這意味著,如果您在函數(shù)中更改它們,則更改將反映在外部。

這可能會導致一些非常令人討厭的意外情況和浪費我們的時間去調(diào)試。 請及時提防這些錯誤,減少麻煩。

2.默認參數(shù)中的函數(shù)調(diào)用

默認參數(shù)有時很難使用。 看一下以下內(nèi)容。

初學者開發(fā)人員都會犯的7個Python錯誤

為什么每次調(diào)用的返回值都一樣? 原因是在定義函數(shù)時,Python會在默認參數(shù)中計算表達式。 如果要動態(tài)生成默認參數(shù),則可以執(zhí)行以下操作。

初學者開發(fā)人員都會犯的7個Python錯誤

3.可變的默認參數(shù)

此問題是以上兩個的結(jié)合。 您是否遇到過以下情況?

初學者開發(fā)人員都會犯的7個Python錯誤

這里發(fā)生兩件事。

1.定義函數(shù)后,Python會對表達式[[]求值。 (這相當于調(diào)用list()。)

該對象的引用綁定到參數(shù)。 因此,無論何時調(diào)用該函數(shù),都將使用相同的對象。

2.因此,使用可變對象作為默認參數(shù)不是一個好主意。 你絕對不應該那樣做。

4. 參考覆蓋

如我們所見,每個對象都是Python中的引用類型。 除了將它們傳遞給函數(shù)之外,這還可能引起一些混亂。 請參見以下示例:

初學者開發(fā)人員都會犯的7個Python錯誤

當執(zhí)行b = a時,實際上存儲了a的引用。 因此,a和b指向同一對象。 要解決此問題,您應該使用內(nèi)置的Deepcopy功能。 這將所有值類型的屬性遞歸復制到新變量中。

初學者開發(fā)人員都會犯的7個Python錯誤

如果使用整數(shù)而不是list嘗試相同的操作,則所有操作的行為都將與您期望的一樣。 原因是整數(shù)類型是不可變的,因此在更改它們時會覆蓋引用。

5.從東西導入*

我知道,我們都做到了這一點。 這有幾個缺點。

首先,不同名稱空間中的函數(shù)可以具有相同的名稱,從而導致整個代碼庫混亂。

其次,當您在Python中導入模塊時,該模塊中的所有代碼都將被執(zhí)行。 如果有很多子模塊要導入,這會大大降低速度。 因此,如果僅導入NumPy以生成隨機數(shù),則最好使用下面方法:

初學者開發(fā)人員都會犯的7個Python錯誤

than

初學者開發(fā)人員都會犯的7個Python錯誤

6.使用字符串串聯(lián)連接路徑

假設您必須從變量data_folder給定的文件夾中打開一個名為data.csv的文件。 應該如何確定文件路徑? 如果你在做:

初學者開發(fā)人員都會犯的7個Python錯誤

那你做錯了。 例如,這在Windows上將不起作用。 您可能沒有經(jīng)驗,但是使用不同開發(fā)設置的你的同事肯定會感到痛苦。

為了解決這個問題,您應該使用Python的內(nèi)置工具pathlib或簡單地使用os.path.join函數(shù):

初學者開發(fā)人員都會犯的7個Python錯誤

7. 測試覆蓋率低

這是一個高水平的問題。 尤其是當您是初學者時,單元測試的好處尚不清楚。 但是,每個經(jīng)驗豐富的開發(fā)人員都可以告訴您,這是絕對必要的。 使用未經(jīng)測試的代碼就像打個模子:修復一個錯誤,引入另一個錯誤。

為了避免這些錯誤,從項目的開始就應該注意。 添加功能(甚至功能)后,應立即編寫測試用例以驗證能否跑通。 有很多很棒的庫,例如內(nèi)置的unittest或非常流行的pytest。

應該認真投入時間來測試您的代碼。 這樣做可能需要一些時間,但這是一項長期投資。 您將節(jié)省更多的調(diào)試時間。

簡而言之,這是您在Python中可能犯的七個最痛苦的錯誤。 在追求Python熟練度的過程中,您肯定還會遇到更多。 但是,有了本指南,您將有知識來避免這些出現(xiàn)最頻繁的錯誤。

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

    關注

    90

    文章

    3724

    瀏覽量

    97458
  • python
    +關注

    關注

    58

    文章

    4889

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    面向測量初學者的入門專欄:為什么要測量聲音和振動?

    面向測量初學者的入門專欄:為什么要測量聲音和振動?您有沒有想過,其實我們每天都生活在各種“聲音”和“振動”之中?這些復雜交織的聲音和振動,如果按照頻率(也就是聲音的高低)進行分解,并分析其大小、甚至
    的頭像 發(fā)表于 04-17 09:51 ?472次閱讀
    面向測量<b class='flag-5'>初學者</b>的入門專欄:為什么要測量聲音和振動?

    關于TNC同軸線纜結(jié)構(gòu):這是一篇被很多射頻初學者忽視的干貨文

    很多射頻初學者常將TNC接口視作BNC的“螺紋加強版”,卻忽略了其內(nèi)部嚴絲合縫的物理結(jié)構(gòu)對信號傳輸?shù)臎Q定性影響。本文深度拆解TNC同軸線纜的四大核心層:從利用集膚效應的中心導體,到?jīng)Q定特征阻抗
    的頭像 發(fā)表于 04-16 16:19 ?110次閱讀
    關于TNC同軸線纜結(jié)構(gòu):這是一篇被很多射頻<b class='flag-5'>初學者</b>忽視的干貨文

    國產(chǎn)DSP/FPGA選型、環(huán)境搭建與初學者調(diào)研全指南

    作為全國產(chǎn)解決方案的標桿,其核心選型(長城銀河FT-M6678N DSP、復旦微JFM7VX690T36 FPGA)、開發(fā)環(huán)境搭建,以及適配初學者的調(diào)研路徑,都值得細細拆解。更關鍵的是,芯片與板卡在實際使用中的各類問題、易忽略的
    的頭像 發(fā)表于 03-10 18:52 ?822次閱讀
    國產(chǎn)DSP/FPGA選型、環(huán)境搭建與<b class='flag-5'>初學者</b>調(diào)研全指南

    AI端側(cè)部署案例(SC171開發(fā)套件V2-FAS)

    AI端側(cè)部署案例(SC171開發(fā)套件V2-FAS) 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 初學者入門手寫數(shù)字識別案例 32分21秒 https
    發(fā)表于 02-11 12:08

    AI端側(cè)部署案例(SC171開發(fā)套件V3)2026版

    AI端側(cè)部署案例(SC171開發(fā)套件V3)2026版 序列 課程名稱 視頻課程時長 視頻課程鏈接 課件鏈接 工程源碼 1 初學者入門手寫數(shù)字識別案例 25分29秒 https
    發(fā)表于 01-15 10:40

    linux-arm開發(fā)環(huán)境的簡單配置

    都會給你解釋(很多視頻都不會給你解釋),適合初學者。 fedora8開發(fā)環(huán)境簡單配置 linux-arm開發(fā)環(huán)境簡單配置 Window上: 安裝終端軟件 SecureCRT,
    發(fā)表于 01-13 07:56

    嵌入式軟件開發(fā)的 10 技巧分享

    一上來就想寫代碼的沖動至關重要,應首先用流程圖制定一軟件架構(gòu)圖。這樣的方**使開發(fā)人員對應用所需的不同部分與組件形成一概念,就像電路邏輯圖可以告訴工程師需要哪些硬件元件一樣。這樣可確保程序整體建立在
    發(fā)表于 12-25 06:04

    FPGA初學者求助

    Vivado2025.1配置MIG時出現(xiàn)報錯 大家好,我是一名研一的學生,同時也是一名FPGA初學者,最近在使用vivado2025.1配置MIG的時候遇到了問題,具體問題如下: 我這個mig的配置
    發(fā)表于 12-07 11:43

    Bourns 深耕印度,在地設計 - Bourns 印度設計中心 為開發(fā)人員提供當?shù)叵冗M技術資源助力客戶加速創(chuàng)新!

    班加羅爾 (Bengaluru) 正式成立首座設計中心。此新中心將作為以客戶協(xié)作與創(chuàng)新為核心的研發(fā)樞紐,為當?shù)?b class='flag-5'>開發(fā)人員提供完整的設計工具與技術支持,包括運用 Bourns 具業(yè)界領先地位的電源與保護組件之參考設計專業(yè)服務。 Bourns 印度設計中心采用成熟流程,協(xié)助客戶快速進
    的頭像 發(fā)表于 11-19 14:26 ?701次閱讀
    Bourns 深耕印度,在地設計 - Bourns 印度設計中心 為<b class='flag-5'>開發(fā)人員</b>提供當?shù)叵冗M技術資源助力客戶加速創(chuàng)新!

    恩智浦FRDM i.MX 8M Plus開發(fā)板詳解

    開發(fā)高級HMI應用、計算機視覺系統(tǒng)以及邊緣AI項目時,開發(fā)人員常常面臨一共同挑戰(zhàn):如何在不依賴昂貴且復雜的開發(fā)平臺的前提下,獲得足夠的處理能力。這正是FRDM i.MX 8M Pl
    的頭像 發(fā)表于 11-18 15:07 ?1685次閱讀

    嵌入式開發(fā)的關鍵點介紹

    嵌入式開發(fā)在現(xiàn)代科技中扮演著非常重要的角色。隨著物聯(lián)網(wǎng)的發(fā)展,嵌入式系統(tǒng)的需求也越來越大。嵌入式開發(fā)不僅需要開發(fā)人員具備深入的硬件知識和編程經(jīng)驗,還需要不斷學習新的技術和工具,以滿足不斷變化的需求
    發(fā)表于 11-13 08:12

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

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

    初學者指南:樹莓派上搭建虛擬環(huán)境!

    在這篇簡明扼要的指南中,我們將探討如何在樹莓派上設置和使用虛擬環(huán)境(或稱為Venv)——包括在終端和Thonny集成開發(fā)環(huán)境中。使用Bookworm操作系統(tǒng)或更高版本時,或在嘗試安裝Python
    的頭像 發(fā)表于 07-27 13:24 ?1193次閱讀
    <b class='flag-5'>初學者</b>指南:樹莓派上搭建虛擬環(huán)境!

    避雷!樹莓派初學者常犯的5錯誤!

    如果你剛剛?cè)胧謽漭桑憔蜁浪鼭摿o窮,幾乎能實現(xiàn)你想到的任何功能。然而,這種自由也讓你可能在不知不覺中做出對系統(tǒng)有害的操作。在本文中,我將介紹要避免哪些錯誤初學者最常犯的錯誤
    的頭像 發(fā)表于 07-22 17:16 ?1587次閱讀
    避雷!樹莓派<b class='flag-5'>初學者</b>常犯的5<b class='flag-5'>個</b><b class='flag-5'>錯誤</b>!

    Thingy:91 X 為開發(fā)人員提供了一經(jīng)過全球認證的、多傳感器、電池供電的蜂窩物聯(lián)網(wǎng)原型平臺

    Thingy:91 X 為開發(fā)人員提供了一經(jīng)過全球認證的、多傳感器、電池供電的蜂窩物聯(lián)網(wǎng)原型平臺 挪威奧斯陸 – 2024年12月10日 – 全球領先的低功耗無線連接解決方案提供商Nordic
    的頭像 發(fā)表于 05-08 17:41 ?3464次閱讀
    商水县| 成都市| 家居| 襄城县| 平顶山市| 正安县| 汉川市| 辉县市| 南川市| 武清区| 大足县| 修水县| 邵东县| 宁陵县| 明溪县| 峨山| 竹溪县| 滨海县| 德阳市| 凭祥市| 通道| 如东县| 濉溪县| 白水县| 明溪县| 光泽县| 厦门市| 岗巴县| 乐昌市| 诸城市| 喀什市| 台中市| 淮阳县| 延寿县| 临漳县| 平阴县| 怀宁县| 锡林郭勒盟| 盐边县| 罗江县| 光山县|