2.基本格式,如縮進/空格/空行/換行。
縮進:縮進4個空格。通常情況下,使用1個Tab鍵,但Tab鍵不壹定會產生4個空格鍵,因此有時會出錯。
行寬:每行代碼盡量不要超過80個字符,但不嚴格要求在80個字符以內。妳可以稍微檢查壹下。如果代碼太長,則意味著代碼設計不合理。此外,在控制臺中查看代碼也很方便,並且在並排傳遞diff時很有幫助。
如果沒有特殊的編碼要求,建議在文件開頭添加壹行#-*-編碼:utf-8-*-來聲明文件的編碼方式。當然,程序文件的編碼應該與聲明的編碼壹致,並且應該使用UTF-8編碼。
2.基本格式,如縮進/空格/空行/換行。
縮進:縮進4個空格。通常情況下,使用1個Tab鍵,但Tab鍵不壹定會產生4個空格鍵,因此有時會出錯。
行寬:每行代碼盡量不要超過80個字符,但不嚴格要求在80個字符以內。妳可以稍微檢查壹下。如果代碼太長,則意味著代碼設計不合理。此外,在控制臺中查看代碼也很方便,並且在並排傳遞diff時很有幫助。
報價:
自然語言字符串壹般使用雙引號;
使用單引號進行機器識別,例如key在字典中;
正則表達式使用本機雙引號:r“。。。”;
文檔字符串使用三個雙引號:“”......““,如函數註釋、函數參數和返回值的描述等。
空白行:
模塊級函數和定義類之間有兩行空行。
類成員函數之間有壹個空行。
例如:
a類:
def _ _ init _ _(self):
及格
def hello(self):
及格
defmain():
及格
1
2
三
四
五
六
七
八
九
10
11
1
2
三
四
五
六
七
八
九
10
11
(您可以在函數中使用空行來分隔邏輯上相關的代碼。)
空間:
在二元運算符【=,-,+=,==,& gt、in、isnot和】
#規格
i=i+1
已提交+=1
x=x*2-1
海波t2=x*x+y*y
c =(a+b)*(a-b)
#非標準
i=i+1
已提交+=1
x=x*2-1
海波t2=x*x+y*y
c =(a+b)*(a-b)
1
2
三
四
五
六
七
八
九
10
11
12
13
1
2
三
四
五
六
七
八
九
10
11
12
13
在函數、、、#、#的參數列表中;後面應該有空格。
例如
#規格
defcomplex(真實圖像):
及格
#非標準
defcomplex(真實圖像):
及格
1
2
三
四
五
六
七
1
2
三
四
五
六
七
在函數的參數列表中,不要在默認值等號兩邊添加空格。
#規格
defcomplex(實數,imag=0.0):
及格
#非標準
defcomplex(實數,imag=0.0):
及格
1
2
三
四
五
六
七
1
2
三
四
五
六
七
不要在左括號後和右括號前添加多余的空格。
#規格
垃圾郵件(ham【1】,{eggs:2})
#非標準
垃圾郵件(ham【1】,{eggs:2})
1
2
三
四
五
1
2
三
四
五
不要在字典對象的左括號前使用額外的空格。
#規格
dict【key】= list【index】
#非標準
dict【key】= list【index】
1
2
三
四
五
1
2
三
四
五
不要使用額外的空格來對齊賦值語句。
#規格
x=1
y=2
long_variable=3
#非標準
x=1
y=2
long_variable=3
1
2
三
四
五
六
七
八
九
1
2
三
四
五
六
七
八
九
換行:
Python支持括號中的換行符。此時有以下五種情況:
(1)第二行縮進到括號的開頭。
foo = long _ function _ name(var _ one,var_two
var_three,var_four)
1
2
1
2
(2)第二行縮進4個空格,適用於左中括號換行的情況。
定義函數名(
壹號,二號,三號,
var_four):
及格
1
2
三
四
1
2
三
四
(3)使用反斜杠換行。二元運算符+、。等應出現在行尾;長弦也可以用這種方法纏繞
session . query(my table)。
篩選條件(id=1)。
壹()
打印“妳好”
%s%s%
(“哈利”,“波特”)
1
2
三
四
五
六
七
1
2
三
四
五
六
七
(4)禁止復合語句。也就是說,壹行包含多個語句:
#規格
do_first()
do_second()
do_third()
#規格
do _ first();do _ second();do _ third();
1
2
三
四
五
六
七
1
2
三
四
五
六
七
(5)if/for/while應包裝。
例如,如果:
#規格
iffoo = =‘blah‘:
do_blah_thing()
#非標準
iffoo = =‘blah‘:do _ blash _ thing()
1
2
三
四
五
六
1
2
三
四
五
六
導入語句
導入語句應單獨成行書寫,例如:
#規格
importos
importsys
fromsubprocessimportPopen,管道
#非標準
導入系統、操作系統
1
2
三
四
五
六
七
1
2
三
四
五
六
七
import語句應該使用absoluteimport
#規格
fromfoo.barimportBar
#非標準
從..巴裏波特巴
1
2
三
四
五
1
2
三
四
五
import語句應該放在文件的開頭,模塊描述和docstring之後,全局變量之前。
導入語句應該按順序排列,每個組應該用空行分隔(即同壹類型在壹個塊中)
當導入其他模塊的類定義時,可以使用相對導入。
frommyclassimportMyClass
1
1
如果存在命名沖突,可以使用名稱空間。
導入欄
importfoo.bar
酒吧。條形()
foo.bar.Bar()
非常標準