乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何寫出清晰又優(yōu)雅的Python代碼?我們給你這26條建議

       長沙7喜 2021-05-05
      大數(shù)據(jù)DT
      提供大數(shù)據(jù)、AI等領域干貨學習資源的「寶藏號」,跟50萬技術(shù)人共同成長,一起玩轉(zhuǎn)大數(shù)據(jù)、Python、數(shù)據(jù)分析、數(shù)據(jù)科學、人工智能!還會有各種好玩又奇葩的數(shù)據(jù)解讀,邊學習邊吃瓜!
      538篇原創(chuàng)內(nèi)容
      公眾號

      導讀:Python Enhancement Proposal #8叫作PEP 8,它是一份針對Python代碼格式而編訂的風格指南。盡管只要語法正確,代碼隨便怎么寫都行,但采用一致的風格可以使代碼更易讀、更易懂。如果你的代碼風格和其他Python程序員的相同,那么就能夠更加順利地與大家一起做項目。


      即便你的代碼只給自己看,也應該按照這套風格來寫,以便以后修改更加容易一些,而且能夠避開很多常見的錯誤。

      作者:布雷特·斯拉特金(Brett Slatkin)
      來源:大數(shù)據(jù)DT(ID:hzdashuju)


      圖片



      PEP 8非常詳細地描述了如何編寫清晰的Python代碼,而且會隨著Python語言的發(fā)展持續(xù)更新。大家應該把完整指南閱讀一遍:

      https://www./dev/peps/pep-0008

      筆者認為,下面這幾條規(guī)則是絕對應該遵循的。


      01 與空白有關(guān)的建議

      (9條 / 26條)

      在Python中,空白(whitespace)在語法上相當重要。Python程序員對空白字符的用法尤其在意,因為它們會影響代碼的清晰程度。在這方面,大家應該遵循以下幾條建議。

      1. 用空格(space)表示縮進,而不要用制表符(tab)。
      2. 和語法相關(guān)的每一層縮進都用4個空格表示。
      3. 每行不超過79個字符。
      4. 對于占據(jù)多行的長表達式來說,除了首行之外的其余各行都應該在通常的縮進級別之上再加4個空格。
      5. 在同一份文件中,函數(shù)與類之間用兩個空行隔開。
      6. 在同一個類中,方法與方法之間用一個空行隔開。
      7. 使用字典時,鍵與冒號之間不加空格,寫在同一行的冒號和值之間應該加一個空格。
      8. 給變量賦值時,賦值符號的左邊和右邊各加一個空格,并且只加一個空格就好。
      9. 給變量的類型做注解(annotation)時,不要把變量名和冒號隔開,但在類型信息前應該有一個空格。

      圖片



      02 與命名有關(guān)的建議

      (7條 26條

      PEP 8建議采用不同的方式來給Python代碼中的各個部分命名,這樣在閱讀代碼時,就可以根據(jù)這些名稱看出它們在Python語言中的角色。遵循以下與命名相關(guān)的建議。

      1. 函數(shù)、變量及屬性用小寫字母來拼寫,各單詞之間用下劃線相連,例如:lowercase_underscore。
      2. 受保護的實例屬性,用一個下劃線開頭,例如:_leading_underscore。
      3. 私有的實例屬性,用兩個下劃線開頭,例如:__double_leading_underscore。
      4. 類(包括異常)命名時,每個單詞的首字母均大寫,例如:CapitalizedWord
      5. 模塊級別的常量,所有字母都大寫,各單詞之間用下劃線相連,例如:ALL_CAPS。
      6. 類中的實例方法,應該把第一個參數(shù)命名為self,用來表示該對象本身。
      7. 類方法的第一個參數(shù),應該命名為cls,用來表示這個類本身。


      03 與表達式和語句有關(guān)的建議

      (6條 26條

      The Zen of Python中提到:“每件事都應該有簡單的做法,而且最好只有一種?!盤EP 8就試著運用這個理念,來規(guī)范表達式和語句的寫法。

      1. 采用行內(nèi)否定,即把否定詞直接寫在要否定的內(nèi)容前面,而不要放在整個表達式的前面,例如應該寫if a is not b,而不是if not a is b
      2. 不要通過長度判斷容器或序列是不是空的,例如不要通過if len(somelist) == 0判斷somelist是否為[]''等空值,而是應該采用if not somelist這樣的寫法來判斷,因為Python會把空值自動評估為False
      3. 如果要判斷容器或序列里面有沒有內(nèi)容(比如要判斷somelist是否為[1]'hi'這樣非空的值),也不應該通過長度來判斷,而是應該采用if somelist語句,因為Python會把非空的值自動判定為True。
      4. 不要把if語句、for循環(huán)、while循環(huán)及except復合語句擠在一行。應該把這些語句分成多行來寫,這樣更加清晰。
      5. 如果表達式一行寫不下,可以用括號將其括起來,而且要適當?shù)靥砑訐Q行與縮進以便于閱讀。
      6. 多行的表達式,應該用括號括起來,而不要用\符號續(xù)行。

      圖片



      04 與引入有關(guān)的建議

      (4條 26條

      PEP 8對于怎樣在代碼中引入并使用模塊,給出了下面幾條建議。

      1. import語句(含from x import y)總是應該放在文件開頭。
      2. 引入模塊時,總是應該使用絕對名稱,而不應該根據(jù)當前模塊路徑來使用相對名稱。例如,要引入bar包中的foo模塊,應該完整地寫出from bar import foo,即便當前路徑為bar包里,也不應該簡寫為import foo
      3. 如果一定要用相對名稱來編寫import語句,那就應該明確地寫成:from . import foo。
      4. 文件中的import語句應該按順序劃分成三個部分:首先引入標準庫里的模塊,然后引入第三方模塊,最后引入自己的模塊。屬于同一個部分的import語句按字母順序排列。

      • 提示:Pylint是一款流行的Python源碼靜態(tài)分析工具。它可以自動檢查受測代碼是否符合PEP 8風格指南,而且還能找出Python程序里的許多種常見錯誤。很多IDE(集合成開發(fā)環(huán)境)與編輯器,都包含這樣的linting工具或者支持類似的插件。
        https://www./


      要點

      • 編寫Python代碼時,總是應該遵循PEP 8風格指南。
      • 與廣大Python開發(fā)者采用同一套代碼風格,可以使項目更利于多人協(xié)作。
      • 采用一致的風格編寫代碼,代碼的后續(xù)修改更容易。

      關(guān)于作者:布雷特·斯拉特金(Brett Slatkin),Google首席軟件工程師,他是Google Surveys的聯(lián)合技術(shù)創(chuàng)始人,也是PubSubHubbub協(xié)議的共同創(chuàng)造者之一。此外,Slatkin還發(fā)布了Google的第一個云計算產(chǎn)品——App Engine。早在15年前,Slatkin就開始在工作中使用Python管理Google大量的服務器群。他擁有紐約哥倫比亞大學計算機工程專業(yè)學士學位。

      本文摘編自Effective Python:編寫高質(zhì)量Python代碼的90個有效方法》(原書第2版),

      本文摘編自Effective Python:編寫高質(zhì)量Python代碼的90個有效方法》(原書第2版),經(jīng)出版方授權(quán)發(fā)布。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多