日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 编码规范(Google) (一)

發布時間:2024/7/23 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 编码规范(Google) (一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 風格規范(Google)

本項目并非 Google 官方項目, 而是由國內程序員憑熱情創建和維護。

如果你關注的是 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 andcolor == 'red' and emphasis == 'strong'):

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

    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>`部分找到解釋.


    括號

    寧缺毋濫的使用括號

    除非是用于實現行連接, 否則不要在返回語句或條件語句中使用括號. 不過在元組兩邊使用括號是可以的.

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

    縮進

    用4個空格來縮進代碼

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

    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,...}

    空行

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

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


    空格

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

    括號內不要有空格.

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

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

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

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

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

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

    在二元操作符兩邊都加上一個空格, 比如賦值(=), 比較(==, <, >, !=, <>, <=, >=, in, not in, is, is not), 布爾(and, or, not). 至于算術操作符兩邊的空格該如何使用, 需要你自己好好判斷. 不過兩側務必要保持一致.

    Yes: x == 1 No: x<1

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

    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,}

    總結

    以上是生活随笔為你收集整理的Python 编码规范(Google) (一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。