主頁 > 知識庫 > 基于Google的Python編碼規(guī)范標準

基于Google的Python編碼規(guī)范標準

熱門標簽:地圖標注多個 企業(yè)微信地圖標注 銀川電話機器人電話 B52系統(tǒng)電梯外呼顯示E7 萊蕪電信外呼系統(tǒng) 怎么辦理400客服電話 沈陽防封電銷電話卡 鶴壁手機自動外呼系統(tǒng)違法嗎 高德地圖標注收入咋樣

Python 風格規(guī)范(Google)

本項目并非 Google 官方項目, 而是由國內(nèi)程序員憑熱情創(chuàng)建和維護。

如果你關注的是 Google 官方英文版, 請移步 Google Style Guide

以下代碼中 Yes 表示推薦,No 表示不推薦。

分號

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

行長度

每行不超過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'):

如果一個文本字符串在一行放不下, 可以使用圓括號來實現(xiàn)隱式行連接:

x = ('這是一個非常長非常長非常長非常長 '
     '非常長非常長非常長非常長非常長非常長的字符串')

在注釋中,如果必要,將長的URL放在一行上。

Yes:  # See details at
      # http://www.example.com/us/developer/documentation/api/content/v2.0/csv_file_name_extension_full_specification.html
No:  # See details at
     # http://www.example.com/us/developer/documentation/api/content/\

     # v2.0/csv_file_name_extension_full_specification.html

注意上面例子中的元素縮進; 你可以在本文的 :ref:`縮進 indentation>`部分找到解釋.

括號

寧缺毋濫的使用括號

除非是用于實現(xiàn)行連接, 否則不要在返回語句或條件語句中使用括號.

不過在元組兩邊使用括號是可以的.

Yes: if foo:
         bar()
     while x:
         x = bar()
     if x and y:
         bar()
     if not x:
         bar()
     return foo
     for (x, y) in dict.items(): ...
No:  if (x):
         bar()
     if not(x):
         bar()
     return (foo)

縮進

用4個空格來縮進代碼

絕對不要用tab, 也不要tab和空格混用.

對于行連接的情況, 你應該要么垂直對齊換行的元素(見 :ref:`行長度 line_length>` 部分的示例),

或者使用4空格的懸掛式縮進(這時第一行不應該有參數(shù)):

Yes:   # 與起始變量對齊
       foo = long_function_name(var_one, var_two,
                                var_three, var_four)
        # 字典中與起始值對齊
       foo = {
           long_dictionary_key: value1 +
                                value2,
          ...
       }
        # 4 個空格縮進,第一行不需要
       foo = long_function_name(
           var_one, var_two, var_three,
           var_four)
 
       # 字典中 4 個空格縮進
       foo = {
           long_dictionary_key:
               long_dictionary_value,
           ...
       }
No:    # 第一行有空格是禁止的
      foo = long_function_name(var_one, var_two,
          var_three, var_four) 
      # 2 個空格是禁止的
      foo = long_function_name(
        var_one, var_two, var_three,
        var_four) 
      # 字典中沒有處理縮進
      foo = {
          long_dictionary_key:
              long_dictionary_value,
              ...
      }

空行

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

頂級定義之間空兩行, 比如函數(shù)或者類定義. 方法定義, 類定義與第一個方法之間, 都應該空一行.

函數(shù)或方法中, 某些地方要是你覺得合適, 就空一行.

空格

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

括號內(nèi)不要有空格.

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

Yes: spam(ham[1], {eggs: 2}, [])
No:  spam( ham[ 1 ], { eggs: 2 }, [ ] )

不要在逗號, 分號, 冒號前面加空格, 但應該在它們后面加(除了在行尾).

Yes: if x == 4:
         print x, y
     x, y = y, x
No:  if x == 4 :
         print x , y
     x , y = y , x

參數(shù)列表, 索引或切片的左括號前不應加空格.

Yes: spam(1)
no: spam (1)
Yes: dict['key'] = list[index]
Yes: dict['key'] = list[index]

在二元操作符兩邊都加上一個空格,

比如賦值(=), 比較(==, , >, !=, >, =, >=, in, not in, is, is not), 布爾(and, or, not).

至于算術操作符兩邊的空格該如何使用, 需要你自己好好判斷. 不

過兩側(cè)務必要保持一致.

Yes: x == 1
No:  x1

當'='用于指示關鍵字參數(shù)或默認參數(shù)值時, 不要在其兩側(cè)使用空格.

Yes: def complex(real, imag=0.0): return magic(r=real, i=imag)
No:  def complex(real, imag = 0.0): return magic(r = real, i = imag)

不要用空格來垂直對齊多行間的標記, 因為這會成為維護的負擔(適用于:, #, =等):

Yes:
     foo = 1000  # 注釋
     long_name = 2  # 注釋不需要對齊
     dictionary = {
         "foo": 1,
         "long_name": 2,
         }
No:
     foo       = 1000  # 注釋
     long_name = 2     # 注釋不需要對齊
     dictionary = {
         "foo"      : 1,
         "long_name": 2,
         }

以上就是基于Google的Python編碼規(guī)范標準的詳細內(nèi)容,更多關于Google的Python編碼規(guī)范的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python編碼總結(jié)(編碼類型、格式、轉(zhuǎn)碼)
  • Python編碼類型轉(zhuǎn)換方法詳解
  • Python編碼爬坑指南(必看)
  • python編碼最佳實踐之總結(jié)
  • Python編碼時應該注意的幾個情況
  • 學習python處理python編碼問題
  • python入門課程第二講之編碼規(guī)范知多少

標簽:葫蘆島 烏魯木齊 安慶 銀川 湘西 呼倫貝爾 三亞 呼倫貝爾

巨人網(wǎng)絡通訊聲明:本文標題《基于Google的Python編碼規(guī)范標準》,本文關鍵詞  基于,Google,的,Python,編碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《基于Google的Python編碼規(guī)范標準》相關的同類信息!
  • 本頁收集關于基于Google的Python編碼規(guī)范標準的相關信息資訊供網(wǎng)民參考!
  • 推薦文章