欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2021年08月31日 09:51:26   作者:不吃西紅柿丶  
這篇文章主要介紹了基于Google的Python編碼規(guī)范標準,其中包含了分號,行長度,括號,縮進,空行,空格等基本符號的使用規(guī)則,有需要的朋友可以參考下

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:  x<1

當'='用于指示關鍵字參數(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ī)范的資料請關注腳本之家其它相關文章!

相關文章

最新評論