導航:首頁 > 編程語言 > python編寫格式

python編寫格式

發布時間:2025-05-14 11:23:14

❶ 你寫的python編碼,別人知道嗎

Python 編碼規范重要性的原因用一句話來概括就是:統一的編碼規范可以提高開發效率。


無論你是 編程者,還是 閱讀者,好的規范能讓你的效率事半功倍,甚至機器在運行時,提高程序運行的效率。今天就帶你盤一盤python的編碼規范。


ps.python的代碼編寫基本上都要遵循PEP8的風格


1、分號

不要在行尾加分號, 也不要用分號將兩條命令放在同一行。


2、命名

mole_name, package_name, ClassName, method_name


應該避免的名稱


單字元名稱, 除了計數器和迭代器.

包/模塊名中的連字元(-)

雙下劃線開頭並結尾的名稱(Python保留, 例如__init__)

命名約定


所謂"內部(Internal)"表示僅模塊內可用, 或者, 在類內是保護或私有的.

用單下劃線(_)開頭表示模塊變數或函數是protected的(使用import * from時不會包含).

用雙下劃線(__)開頭的實例變數或方法表示類內私有.

將相關的類和頂級函數放在同一個模塊里. 不像Java, 沒必要限制一個類一個模塊.

對類名使用大寫字母開頭的單詞(如CapWords, 即Pascal風格), 但是模塊名應該用小寫加下劃線的方式(如lower_with_under.py). 盡管已經有很多現存的模塊使用類似於CapWords.py這樣的命名, 但現在已經不鼓勵這樣做, 因為如果模塊名碰巧和類名一致, 這會讓人困擾.

3、行長度

每行不超過80個字元


以下情況除外:


長的導入模塊語句

注釋里的URL

不要使用反斜杠連接行。


Python會將 圓括弧, 中括弧和花括弧中的行隱式的連接起來 , 你可以利用這個特點. 如果需要, 你可以在表達式外圍增加一對額外的圓括弧。


推薦:


foo_bar(self, width, height, color='black', design=None, x='foo',

emphasis=None, highlight=0)

if (width == 0 and height == 0 and

color == 'red' and emphasis == 'strong'):

如果一個文本字元串在一行放不下, 可以使用圓括弧來實現隱式行連接:


x = ('這是一個非常長非常長非常長非常長 '

'非常長非常長非常長非常長非常長非常長的字元串')

4、縮進

用4個空格來縮進代碼

絕對不要用tab, 也不要tab和空格混用. 對於行連接的情況, 你應該要麼垂直對齊換行的元素(見 :ref:`行長度 ` 部分的示例), 或者使用4空格的懸掛式縮進(這時第一行不應該有參數):

5、空行

頂級定義之間空兩行, 方法定義之間空一行

頂級定義之間空兩行, 比如函數或者類定義. 方法定義, 類定義與第一個方法之間, 都應該空一行. 函數或方法中, 某些地方要是你覺得合適, 就空一行.

6、空格

按照標準的排版規范來使用標點兩邊的空格

括弧內不要有空格.

按照標準的排版規范來使用標點兩邊的空格

7、類

類應該在其定義下有一個用於描述該類的文檔字元串. 如果你的類有公共屬性(Attributes), 那麼文檔中應該有一個屬性(Attributes)段. 並且應該遵守和函數參數相同的格式.

8、塊注釋和行注釋

最需要寫注釋的是代碼中那些技巧性的部分. 如果你在下次 代碼審查 的時候必須解釋一下, 那麼你應該現在就給它寫注釋. 對於復雜的操作, 應該在其操作開始前寫上若干行注釋. 對於不是一目瞭然的代碼, 應在其行尾添加註釋.


# We use a weighted dictionary search to find out where i is in

# the array. We extrapolate position based on the largest num

# in the array and the array size and then do binary search to

# get the exact number.

if i & (i-1) == 0: # true iff i is a power of 2

為了提高可讀性, 注釋應該至少離開代碼2個空格.


另一方面, 絕不要描述代碼. 假設閱讀代碼的人比你更懂Python, 他只是不知道你的代碼要做什麼.


# BAD COMMENT: Now go through the b array and make sure whenever i occurs

# the next element is i+1

9、字元串

正確示範:

x = a + b

x = '%s, %s!' % (imperative, expletive)

x = '{}, {}!'.format(imperative, expletive)

x = 'name: %s; score: %d' % (name, n)

x = 'name: {}; score: {}'.format(name, n)

錯誤示範:

x = '%s%s' % (a, b) # use + in this case

x = '{}{}'.format(a, b) # use + in this case

x = imperative + ', ' + expletive + '!'

x = 'name: ' + name + ' score: ' + str(n)

10、導包

每個導入應該獨佔一行


導入總應該放在文件頂部, 位於模塊注釋和文檔字元串之後, 模塊全局變數和常量之前. 導入應該按照從最通用到最不通用的順序分組:


【總結】

1.命名

2.空白

3.語句

4.注釋

閱讀全文

與python編寫格式相關的資料

熱點內容
cad最下面的一排命令都什麼意思 瀏覽:456
pythonimportcpp 瀏覽:850
W10的系統怎麼給U盤加密 瀏覽:370
華為手機代碼編程教學入門 瀏覽:762
和彩雲沒會員怎樣解壓 瀏覽:634
androidimageview保存 瀏覽:387
新買店鋪什麼伺服器 瀏覽:883
文件夾能直接刻錄嗎 瀏覽:493
androidxmpp刪除好友 瀏覽:969
javac哪個前景好 瀏覽:427
中華英才網app為什麼不能搜索了 瀏覽:660
伺服器域名是什麼意思 瀏覽:52
Linux導出mysql命令 瀏覽:159
無詐建鄴是什麼app 瀏覽:228
python中的雙色球 瀏覽:166
python解釋器里如何換行 瀏覽:411
python編寫格式 瀏覽:576
用python做出來的軟體 瀏覽:469
伺服器指示燈代表什麼 瀏覽:702
做一個單片機銷售需要知識 瀏覽:777