佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > python基礎之編碼規(guī)范總結

python基礎之編碼規(guī)范總結

熱門標簽:呼叫中心市場需求 Win7旗艦版 語音系統(tǒng) 電話運營中心 客戶服務 硅谷的囚徒呼叫中心 企業(yè)做大做強 百度AI接口

一、PEP 8規(guī)范

官方文檔:https://legacy.python.org/dev/peps/pep-0008/
中文翻譯: https://www.jb51.net/article/103944.htm

二、縮進

每一級縮進4個空格。

續(xù)行應該與包裹元素對齊,要么使用圓括號,方括號,花括號內(nèi)的隱式行連接來垂直對齊,要么使用掛行縮進對齊。當使用掛行縮進對齊時,應該考慮到第一行不應該有參數(shù),以及使用縮進以區(qū)分自己是續(xù)行。

  • 對齊縮進(左右括號對齊)
def long_function_name(var_one, var_two,
                       var_three, var_four):
    print(var_one)
  • 懸掛縮進
def long_function_name(
       var_one, var_two,
       var_three, var_four):
   print(var_one)
  • 層級縮進
def long_function_name(
      var_one, var_two, var_three,
      var_four):
  print(var_one, var_two, var_three, var_four)

三、行的最大長度

所有行限制的最大字符數(shù)為79

沒有結構化限制的大塊文本(文檔字符或者注釋),每行的最大字符數(shù)限制在72。

with open("file1", "r") as f1, \

        open("file2", "r") as f2:
    f2.write(f1.read())

四、空行

頂層函數(shù)和類定義,前后用兩個空行隔開。

類里面方法定義用一個空行隔開。

class Class01:
    pass


class Class02:
    def function_01(self):
        pass

    def function_02(self):
        pass

五、命名約定

變量命名

  • 永遠不要使用字母I (小寫的L), O (大寫的O), I (大寫的I)作為單字符的變量名。
  • 在有些字體里面,這些字符無法與數(shù)字0和1區(qū)分。如果想用I, 可使用L代替。

函數(shù)命名

  • 函數(shù)名應該小寫,如果想提高可讀性可以用下劃線分隔。
  • 大小寫混合僅在為了兼容原來主要以大小寫混合風格的情況下使用,保持向后兼容。

類命名

  •  類名一般使用首字母大寫的約定。
  • 在接口被文檔化并且主要被用于調用的情況下,可以使用函數(shù)的命名風格代替。
  • 注意:對于內(nèi)置的變量命名有一個單獨的約定:大部分內(nèi)置變量是單個單詞(或者兩個單詞連接在一起),首字母大寫的命名法只用于異常名或者內(nèi)部的常量。

類里面函數(shù)和方法參數(shù)

  • 始終要將self作為實例方法的第一個參數(shù)。
  • 始終要將cls作為類方法的第一個參數(shù)。
  • 如果函數(shù)的參數(shù)名和已有關鍵字沖突,在最后加大意下劃線比縮寫或者隨意拼寫更好。因此class_比clss更好。

六、字符串引號

單引號和雙引號字符串是相同的。PEP不會為這個給出建議。選擇一條規(guī)則并堅持使用下去。當一個字符串中包含單引號或者雙引號字符串的時候,使用和最外層不同的符號來避免使用反斜杠,從而提高可讀性。

模塊和包導入規(guī)范

  • 命名規(guī)范 模塊名稱要短,使用小寫,并避免使用特殊符號, 比如點和問號
  • 因此請盡量保持模塊名簡單,以無需分開單詞最佳(不推薦在兩個單詞之間使用下劃線)

模塊導入建議

示例 結果
from modu import * 差, 不清楚具體從模塊中導入了哪些內(nèi)容
from modu import sqrt 稍好
import modu 最佳 , 調用的時候直接使用modu.sqrt能比較清楚的知道當前方法屬于哪個模塊。
import os \n import sys 推薦
import os, sys 不推薦
from subprocess import Popen, PIPE 也可以

__all__變量

  • 如果模塊中存在全局變量__all__, 那么通過__all__ from xxx import *導入時也只會導入__all__中指定的方法和變量,沒有的話默認全部導入。

七、包

  • 任意包含__init__.py文件的目錄都被認為是一個python包。
  • 因為導入包時會首先執(zhí)行__init__.py文件
  • 包中__init__.py文件中__all__變量的作用
  • init.py文件中存在全局變量__all__, 通過from xxx import *導入時也只會導入__all__中指定的方法和變量,沒有的話默認全部導入。

八、注釋

與代碼相矛盾的注釋比沒有注釋還糟,當代碼更改時,優(yōu)先更新對應的注釋!
注釋應該是完整的句子。如果一個注釋是一個短語或者句子,它的第一個單詞應該大寫,除非它是以小寫字母開頭的標識符(永遠不要改變標識符的大小寫?。?。
如果注釋很短,結尾的句號可以省略。塊注釋一般由完整句子的一個或多個段落組成,并且每句話結束有個句號。
在句尾結束的時候應該使用兩個空格。
在非英語國家的python程序員,請使用英文寫注釋,除非120%的確信你的代碼不會被使用其他語言的人閱讀。

塊注釋

塊注釋通常適用于跟隨它們的某些(或全部)代碼,并縮進到與代碼相同的級別。塊注釋的每一行開頭使用一個#和一個空格(除非塊注釋內(nèi)部縮進文本)。

塊注釋內(nèi)部的段落通常只有一個#的空行分隔。

行內(nèi)注釋

有節(jié)制地使用行內(nèi)注釋

行內(nèi)注釋是與代碼語句同行的注釋。行內(nèi)注釋和代碼至少要有兩個空格分隔。注釋由#和一個空格開始。

文檔注釋

要為所有的公共模塊,函數(shù),類和方法編寫文檔說明。

非公共的方法沒有必要,但是應該有一個描述方法具體作用的注釋。這個注釋應該在def那一行之后。

PEP257描述了寫出好的文檔注釋的相關約定。特別需要注意的是:多行文檔注釋使用的結尾三引號應該是自成一行,例如:

"""這是注釋
注釋的具體內(nèi)筒
"""
 對于單行的文檔說明,尾部的三引號應該和文檔在同一行。

到此這篇關于python基礎之編碼規(guī)范總結的文章就介紹到這了,更多相關python編碼規(guī)范內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 編碼規(guī)范(Google Python Style Guide)
  • Python開發(fā)編碼規(guī)范
  • python 編碼規(guī)范整理
  • 基于Google的Python編碼規(guī)范標準

標簽:山西 長沙 山西 濟南 崇左 喀什 安康 海南

巨人網(wǎng)絡通訊聲明:本文標題《python基礎之編碼規(guī)范總結》,本文關鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    梨树县| 遂昌县| 湄潭县| 昌黎县| 高要市| 钟山县| 湖北省| 五大连池市| 宜阳县| 特克斯县| 贵阳市| 宝丰县| 伊通| 永春县| 桑植县| 岗巴县| 原阳县| 贵定县| 成武县| 岑巩县| 吉木萨尔县| 鹰潭市| 辽源市| 南皮县| 台州市| 文水县| 若羌县| 策勒县| 晴隆县| 会昌县| 芮城县| 北碚区| 杨浦区| 错那县| 文昌市| 景德镇市| 敦煌市| 泽库县| 临漳县| 平定县| 武乡县|