国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇xxxxⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类

  • 首頁 > 數據存儲頻道 > 數據庫頻道 > 軟件架構

    提高Python代碼可讀性的五個基本技巧

    2022年08月29日 11:06:03 來源:中文科技資訊

      譯者 | 趙青窕

      審校 | 孫淑娟

      你是否經常回頭看看6個月前寫的代碼,想知道這段代碼底是怎么回事?或者從別人手上接手項目,并且不知道從哪里開始?這樣的情況對開發者來說是比較常見的。

      Python中有許多方法可以幫助我們理解代碼的內部工作方式,因此當您從頭來看代碼或者寫代碼時,應該會更容易地從停止的地方繼續下去。

      在此我給大家舉個例子,我們可能會得到如下圖所示的代碼。這還不是最糟糕的,但有一些事情需要我們去確認,例如:

      在load_las_file函數中f和d代表什么?

      為什么我們要在clay函數中檢查結果?

      這些函數需要的是什么類型?浮點數還是DataFrames?

      在load_las_file函數中f和d代表什么?

      為什么我們要在clay函數中檢查結果?

      這些函數需要的是什么類型?浮點數還是DataFrames?

      在本文中,我將介紹如何通過文檔、提示輸入和適當的變量名稱來提高應用/腳本的可讀性的5個基本技巧。

      PART 01

      注釋

      我們可以對代碼做的第一件事是向某些行添加注釋,但是要注意避免注釋得過多。注釋中需要闡述代碼為什么能起作用,或者為什么某些事情要以某種方式完成,而不是它是如何實現的。

      Python中的注釋通常使用井號(#)來完成,可以跨一行也可以跨多行。

      # Comment using the hashtag

      # Another comment using the hashtag

      對于多行注釋,我們也可以使用雙引號。

      """

      This is an example of

      a multi-line comment

      """

      在下面的示例中,代碼中添加了一些注釋,以解釋某些代碼行的工作流程和原因:

      PART 02

      顯式類型

      Python語言是動態類型的,這意味著變量類型只會在運行時被檢查。此外,變量可以在代碼執行期間更改類型。另一方面,靜態類型涉及顯式地聲明變量類型,并且在代碼執行期間不能更改。

      2014年,PEP 484引入了類型提示的概念,隨后這個概念引入到了Python 3.5版本中。這允許您顯式地聲明變量類型。

      通過添加類型提示,可以顯著提高代碼的可讀性。在下面的例子中,我們可以看出:

      需要兩個參數

      參數filename的類型是字符串

      參數start_depth的類型是float類型,同時該參數默認值為None

      該函數將返回一個pandas DataFrame對象

      需要兩個參數

      參數filename的類型是字符串

      參數start_depth的類型是float類型,同時該參數默認值為None

      該函數將返回一個pandas DataFrame對象

      根據類型提示,我們可以確切地知道函數需要什么,以及它將返回什么。

      PART 03

      文檔字符串

      文檔字符串是緊跟在函數或類定義之后的字符串。文檔字符串是一種很好的方式,可以詳細解釋函數的功能、需要什么參數、將引發的異常、返回值等等。

      此外,如果使用Sphinx之類的工具為代碼創建在線文檔,文檔字符串將自動提取并轉換為適當的文檔。

      下面的示例顯示了名為clay_volume的函數對應的文檔字符串。這里我們可以指明每個參數的含義。這使它比基本的類型提示更詳細。您還可以包含更多關于函數背后的方法論的信息,如學術參考資料或方程。

      當我們在代碼的其他地方調用函數時,文檔字符串也是非常有幫助。例如,使用Visual Studio編寫代碼時,可以將鼠標懸停在函數調用上,然后看到一個彈出窗口,顯示函數的功能及其需求。

      如果您使用Visual Studio Code (VS Code)編輯您的Python代碼,您可以使用autoDocstring這樣的擴展從而使創建文檔字符串的過程更容易。您可以輸入三個雙引號,并自動填充模板的其余部分。你只需要填上細節。

      提示:如果您已經在參數中聲明了類型,那么它們將被自動選取。

      PART 04

      具有可讀性的變量名

      有時候,當你在寫代碼的時候,你不會太在意變量的名稱,特別是當時間比較緊張的時候。但是,如果您返回看代碼時,會發現一系列名為x1或var123的變量,您可能無法一眼理解它們表示什么。

      在下面的例子,有兩個變量f和d。我們可以通過查看代碼的其他部分來猜測這類變量的含義,但這可能會花費時間,尤其是在代碼很長的情況下。

      如果我們為這些變量指定適當的名稱,我們將能夠知道其中一個變量是由lasio.read調用讀取的data_file,并且很可能是原始數據。data變量告訴我們這是我們正在處理的實際數據。

      PART 05

      避免魔法數字

      幻數是代碼中的值,它們背后有一個無法解釋的含義,可以是常量。在代碼中使用這些可能會導致歧義,尤其是不熟悉計算中使用數字的情況。此外,如果我們在多個地方有相同的神奇數字,當需要更新它,我們必須更新它的每個實例。然而,如果給這類數字分配一個合適的命名變量,那替換的過程就會容易得多。

      在下面的例子中,我們有一個函數,它計算一個名為result的值,并將其乘以0.6。這是什么意思?它是一個轉換因子嗎?一個標量嗎?

      如果我們聲明一個變量并將該值賦給它,那么我們就更有可能知道它是什么。在這種情況下,將伽馬射線指數轉換為粘土體積所用的是粘土與頁巖的比值。

      PART 06

      最終代碼

      在應用了上面的技巧之后,我們的最終代碼現在看起來更清晰,更容易理解。

      PART 07

      總結

      通過注釋和文檔字符串向代碼添加說明有助于幫助您和其他人理解代碼正在做什么。一開始可能會覺得這是一件苦差事,但隨著工具的使用和定期的練習,它會成為你的第二天性。

      文章內容僅供閱讀,不構成投資建議,請謹慎對待。投資者據此操作,風險自擔。

    海報生成中...

    最新新聞

    熱門新聞

    即時

    全球頂級AI創作社區回歸!海藝AI國內首發“全民娛樂化創作

    海藝AI的模型系統在國際市場上廣受好評,目前站內累計模型數超過80萬個,涵蓋寫實、二次元、插畫、設計、攝影、風格化圖像等多類型應用場景,基本覆蓋所有主流創作風格。

    新聞

    市場占比高達35.8%,阿里云引領中國AI云增長

    9月9日,國際權威市場調研機構英富曼(Omdia)發布了《中國AI云市場,1H25》報告。中國AI云市場阿里云占比8%位列第一。

    企業IT

    華為坤靈發布IdeaHub千行百業體驗官計劃,助力中小企

    9月24日,華為坤靈召開“智能體驗,一屏到位”華為IdeaHub千行百業體驗官計劃發布會。

    3C消費

    雅馬哈推出兩款高端頭戴耳機YH-4000與YH-C3000

    雅馬哈昨日宣布推出兩款頭戴式耳機,分別是平板振膜的YH-4000和動圈原理的YH-C3000。

    研究

    IDC:2025上半年全球智能家居清潔機器人出貨量同比暴

    IDC今日發布的《全球智能家居清潔機器人設備市場季度跟蹤報告,2025年第二季度》顯示,上半年全球智能家居清潔機器人市場出貨1,2萬臺,同比增長33%,顯示出品類強勁的市場需求。

    国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇xxxxⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类
    亚洲国产日韩a在线播放| 国产精品视频永久免费播放| 亚洲免费视频成人| 亚洲三区欧美一区国产二区| 精品国产一区二区三区四区| 成人免费在线视频网| 色妞在线综合亚洲欧美| 午夜欧洲一区| 激情五月***国产精品| 欧美激情在线一区二区| 黑人巨大精品欧美一区二区桃花岛| 日韩av网站在线观看| 久久伊人精品一区二区三区| а√天堂中文在线资源8| 久久99精品久久久久久欧洲站| 国产欧美日产一区| 日韩av二区在线播放| 午夜精品久久99蜜桃的功能介绍| 国语对白做受69| 美女视频一区在线观看| 丝袜在线观看| 欧美一区二区三区四区五区六区| 国产suv精品一区二区四区视频| 黄色成人在线视频| 精品视频免费在线| 精品91在线| 国产超级va在线视频| 日韩av激情| 亚洲人妖av一区二区| 黑人巨大精品欧美一区免费视频| aa视频在线观看| 亚洲国产高清自拍| 秋霞成人午夜伦在线观看| 久久草视频在线看| 亚洲天堂电影| 精品一二三区| 国产乱淫av一区二区三区| 玖玖精品视频| 麻豆国产精品一区二区三区| 欧美成人精品午夜一区二区| 欧美国产日本| 日本一区福利在线| 亚洲综合色噜噜狠狠| 全球成人中文在线| 国产精品jvid在线观看蜜臀| 久久天天躁狠狠躁夜夜躁| 综合毛片免费视频| 欧美精品一区二区三区视频| 精品日韩av一区二区| 91亚洲精品一区二区乱码| 97久久精品人人爽人人爽蜜臀| 欧美精品情趣视频| 在线观看av一区| 亚洲激情 国产| 日韩av一区二区三区在线观看| 国产一区二区三区国产精品| 日韩欧美在线观看强乱免费| 国产成人夜色高潮福利影视| 亚洲精品白浆| 久久精品国产清自在天天线| 欧美日韩视频在线播放| 深夜成人影院| 久久久久久91香蕉国产| 日韩黄色影院| 综合在线视频| 亚洲一区中文字幕在线观看| 国产农村妇女精品一二区| 国产精品久久久久久久裸模| 亚洲片av在线| 国产大片一区| 91日韩在线播放| 91福利视频在线观看| 一区二区三区四区五区视频在线观看| 西野翔中文久久精品字幕| 久久伊人蜜桃av一区二区| 成人在线视频免费观看| 成人在线播放av| 日本视频中文字幕一区二区三区| 免费看欧美美女黄的网站| 精品伊人久久大线蕉色首页| 91极品视觉盛宴| 精品美女在线观看视频在线观看| av资源中文在线天堂| 97精品视频在线| 亚洲视频网在线直播| 亚洲国模精品私拍| 久久亚洲精品中文字幕冲田杏梨| 精品成人在线观看| 国产成人精品午夜| 成人免费观看视频| 国产精品xxxxx| 亚洲精品乱码久久久久久按摩观| 欧美一区午夜精品| 日本不卡一区二区三区| 午夜av成人| 爽好久久久欧美精品| 亚洲国产视频二区| 久久久久一区二区| 日韩一区二区免费电影| 九色porny丨国产首页在线| 国产有码一区二区| 日韩欧美国产一区二区三区| 韩日成人在线| 欧美色欧美亚洲另类二区| 精品电影在线观看| 亚洲欧美日韩精品久久| 精品久久福利| 成人午夜在线视频| 国产精品色呦呦| 亚洲精品一区二区三区蜜桃久| 亚洲www永久成人夜色| 欧美成人精精品一区二区频| 欧美午夜精品久久久久久久| 亚洲三级电影网站| 视频一区免费在线观看| 欧美午夜在线| 久久网这里都是精品| 成人黄色片在线| 91麻豆国产自产在线观看| 波多野结衣在线aⅴ中文字幕不卡| 国产精品久久免费视频| 日本在线一区二区三区| 成人在线观看免费网站| 19禁羞羞电影院在线观看| 国产精品久久久久久免费观看| 你懂的在线观看一区二区| 美日韩精品免费| 欧美国产日韩精品| 国产精品igao视频| 欧美性猛交xxxxx水多| 国产精品久久乐| 日韩美脚连裤袜丝袜在线| 亚洲aⅴ日韩av电影在线观看| 99久re热视频这里只有精品6| 欧美在线你懂的| 激情视频网站在线播放色| 77777影视视频在线观看| 国产免费播放一区二区| 丁香5月婷婷久久| 这里只有精品电影| 亚洲人成在线电影| 日韩中文在线播放| 欧美一区日本一区韩国一区| 国产喷白浆一区二区三区| 日本精品一区二区三区在线播放视频| 国产一区精品福利| av国产精品| 黑人玩欧美人三根一起进| 午夜激情久久| 欧美乱偷一区二区三区在线| 成人免费短视频| 亚洲精品成人少妇| dj大片免费在线观看| 欧美性猛交xxxx富婆弯腰| 亚洲日本va| 黄色一区二区三区四区| 欧美日韩免费观看中文| 91麻豆免费在线观看| 久久精品盗摄| 日本在线不卡视频一二三区| 成人免费一区| 日韩精品久久一区| 亚洲一级毛片| 久久亚洲一区二区三区四区五区高|