国产日韩精品一区二区_欧美一级片在线播放_久久精品中文字幕电影_久久视频精品在线_亚洲国产成人久久综合一区_久久精品国产精品_国产视频精品免费播放_在线视频中文亚洲_亚洲午夜未满十八勿入免费观看全集_精品亚洲一区二区_国产原创欧美精品_国产色综合天天综合网_九九久久国产精品_欧美极品少妇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ⅹ裸体艺术_亚洲国产精品人人爽夜夜爽_尤物九九久久国产精品的分类
    欧美精品www在线观看| 久久99性xxx老妇胖精品| www在线观看播放免费视频日本| 97se在线视频| 久久 天天综合| 日韩新的三级电影| 国产精品一区二区三区视频网站| 五月天久久777| 亚洲国产日韩欧美一区二区三区| 成人一区二区三区四区| 一本久久a久久免费精品不卡| 午夜电影网亚洲视频| 91在线看www| 99国产精品| 国产一区二区三区视频在线观看| 日韩一二三区不卡在线视频| 久久资源亚洲| 欧美日韩国产中文字幕| 69影院欧美专区视频| 884aa四虎影成人精品一区| 欧洲国产伦久久久久久久| 婷婷中文字幕一区| 97久久精品一区二区三区的观看方式| jizzjizzjizz欧美| 成人av网址在线| 国产精品久久久久久久久影视| av影院在线| 国产一区二区三区久久| 2019中文字幕在线免费观看| 538国产精品视频一区二区| 亚洲一区在线观看免费| 日韩在线www| 国产乱妇乱子在线播视频播放网站| 中文字幕免费精品一区高清| 国产精品久久国产三级国电话系列| 天堂精品在线视频| 欧美一区二区大胆人体摄影专业网站| 一区在线不卡| 伊人久久大香伊蕉在人线观看热v| 视频一区免费在线观看| 欧美精品欧美精品系列| 另类成人小视频在线| 欧美成a人免费观看久久| 日韩一区二区免费看| 国产网站在线| 国产一区二区在线网站| 成人国产精品免费观看| 色操视频在线| 国产精品一区在线看| 欧美日韩免费观看中文| 粉嫩一区二区三区| 久久亚洲一区二区三区四区| 日韩一区二区三区视频在线| 欧美激情视频一区二区三区免费| 福利一区福利二区微拍刺激| 精品久久精品久久| 亚洲成人一区在线观看| 精彩视频一区二区三区| 在线播放中文字幕一区| 成人a级免费视频| 精品视频在线观看日韩| 69堂成人精品视频免费| 日本综合视频| 日本va欧美va欧美va精品| 免费不卡在线视频| 精品国产免费人成电影在线观...| 免费观看亚洲| 青青国产精品| 久久99精品久久久久久国产越南| 欧美日韩国产va另类| 久久综合九色综合欧美狠狠| 美女视频第一区二区三区免费观看网站| 精品72久久久久中文字幕| 国产精品极品美女在线观看| 日韩欧美在线视频日韩欧美在线视频| 99国产精品99久久久久久粉嫩| 国精品**一区二区三区在线蜜桃| 九色porny视频在线观看| 国产精品激情偷乱一区二区∴| 美女久久久久久久久久久| 精品视频国内| 天堂在线精品| 亚洲国产精品成人精品| 一区二区三区精品久久久| 欧美日韩国产免费一区二区三区| 年轻的保姆91精品| 久久久com| 国产98在线|日韩| 在线不卡日本v二区707| 日本精品一区二区三区视频| 巨大荫蒂视频欧美另类大| 91精品久久久久久| 欧美国产丝袜视频| 中文字幕乱码在线播放| 黄色资源网久久资源365| 色www永久免费视频首页在线| 久久亚洲国产| 国户精品久久久久久久久久久不卡| 欧美午夜在线| 亚洲免费av网址| 中文字幕亚洲欧美一区二区三区| 久久免费视频观看| 欧美极品少妇xxxxⅹ裸体艺术| 久久国产精彩视频| 91美女片黄在线| 久久久免费人体| 91欧美日韩在线| 亚洲国内高清视频| 精品一区二区三区国产| 精品三级久久久| 青草影视电视剧免费播放在线观看| 国产成人视屏| 欧美日韩黄网站| 哺乳一区二区三区中文视频| www.中文字幕久久久| 美女一区二区久久| 国语自产精品视频在线看抢先版结局| 浅井舞香一区二区| 国产在线一区二区| 精品无码久久久久久久动漫| 天堂久久久久va久久久久| 国产女精品视频网站免费| 成人在线免费观看网站| 日韩专区中文字幕| 蜜桃欧美视频| 91久久香蕉国产日韩欧美9色| 草莓视频一区二区三区| 在线观看欧美日本| 91大神xh98hx在线播放| 在线一区二区三区四区| 久久久久中文字幕| 制服丝袜中文字幕一区| 91小视频免费看| 精品久久久久久久久久久久包黑料| 欧美jizz18hd性欧美| 国产精品久久久久久av公交车| 精品91久久| 日韩亚洲欧美中文在线| 国产激情在线观看| 成人性生交大片免费看视频在线| 777精品伊人久久久久大香线蕉| 久久综合九色综合97婷婷| 国内久久久精品| 国产亚洲欧美日韩精品一区二区三区| 欧美成人一品| 日韩av不卡电影| 亚洲一区二区三区免费| 亚洲视频一区二区在线观看| 国产福利精品一区二区| 久久国产精彩视频| 欧美日韩精品在线观看| 欧洲一区二区日韩在线视频观看免费| 久久综合99| 狼狼综合久久久久综合网| 97se亚洲国产一区二区三区| 亚洲欧美日韩一区| 亚洲国产尤物| 国产精品麻豆va在线播放| 日韩片欧美片| 欧亚av在线| 免费看欧美美女黄的网站| 少女频道在线观看免费播放电视剧| 不卡一区在线观看| 国产精欧美一区二区三区蓝颜男同|