Python命名規範

 

Python 標識符

參見:https://docs.python.org/3/reference/lexical_analysis.html?highlight=identifier#identifiershtml

在python裏,標識符有字母、數字、下劃線組成,而且不能使用Python中的保留字。java

在python中,全部標識符能夠包括英文、數字以及下劃線(_),但不能以數字開頭。python

python中的標識符是區分大小寫的。dom

如下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的表明不能直接訪問的類屬性,需經過類提供的接口進行訪問,不能用"from xxx import *"而導入;ide

以雙下劃線開頭的(__foo)表明類的私有成員;以雙下劃線開頭和結尾的(__foo__)表明python裏特殊方法專用的標識,如__init__()表明類的構造函數。函數

Python保留字符

下面的列表顯示了在Python中的保留字。這些保留字不能用做常數或變數,或任何其餘標識符名稱。this

首先在命令行先看一下Python有哪些保留字。spa

 

1 import keyword
2 keyword.kwlist

 

輸出:['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']命令行

保留字 說明 保留字 說明
False

The false value of the bool type。內置常量 bool類型falsecode

global

 定義全局變量
None 內置常量表示沒有 if  條件語句,與else、elif結合使用
True The true value of the bool type。內置常量bool類型true import  用於導入模塊,與from結合使用
and 用於表達式運算,邏輯與操做 in  判斷變量是否在序列中
as 用於類型轉換 is 判斷變量是否爲某個類的實例 
assert 斷言,用於判斷變量或者條件表達式的值是否爲真 lambda  定義匿名行數
break 中斷循環語句的執行 nonlocal  用來在函數或其餘做用域中使用外層(非全局)變量
class 用於定義類 not 表達式運算,邏輯非操做 
continue 結束本次循環繼續下一次循環 or  表達式運算,邏輯或操做
def 定義函數或方法 pass  空的類、方法或者函數的佔位符
elif 條件控制語句,與if、else結合使用 raise 異常拋操做 
esle 條件控制語句,與if、elif結合使用 return 從函數返回計算結果 
except except包含異常捕獲後的操做代碼塊與try、finally結合使用 try  包含可能會出現的代碼塊,與except、finally結合使用
finally 用於異常語句,異常捕獲後,始終要執行finally包含的代碼塊,與try、except結合使用 while  while循環
for for循環語句 with 簡化Python的語句 
from 用於導入模塊,與import結合使用 yield 從函數依次返回值 

 

 

命名

參見:https://www.python.org/dev/peps/pep-0008/

儘可能避免使用難區分的字母"l"、"o"數字"1"、"0"。

1.變量名、包名、模塊名

 變量名一般由字母、數字、下劃線組成,以字母或下劃線開頭,包名、模塊名一般採用簡短的小寫字母,提升可讀性模塊名中也能夠包含下劃線,包命中不推薦使用下劃線。

#Filename:rulemodle.py

_rule = "rule information"

 第一行是程序註釋行,用於聲明模塊的名稱,模塊名用小寫字母,也能夠不指定模塊名稱,以.py後綴的文件就是一個模塊,文件名就是模塊名。

2.類名、對象名

類名首字母大寫,其餘字母採用小寫。對象名用小寫字母。內部使用的類在類名前加單下劃線。

類的屬性和方法名以對象做爲前綴,對象經過操做符"."訪問屬性和方法。類的私有變量和私有方法以兩個下劃線做爲前綴。

 class Student:    #類名,首字母大寫
     __name = ''   #私有變量,以__開頭 
     def __init__(self,name):   #self至關於java中的this 
         self.__name = name
     def getName(self):
         return self.__name
 if __name__ =="__main__":
     student = Student("zhaowei")  #對象名,小寫字母 
     print(student.getName())

3.函數名

函數名一般採用小寫,必要時使用下劃線區分單詞以提升可讀性。

mixedCase(首字母小寫,後面以單詞首字母大寫分割單詞)只適用於保持風格以及向下兼容。

導入的函數以模塊名做爲前綴。

import random  #導入模塊
def compareNum(num1,num2):  #定義函數
    if(num1 > num2):
        print("num1 : %d > num2 : %d"%(num1,num2))
    elif(num1 == num2):
        print("num1 : %d == num2 : %d"%(num1,num2))
    else:
        print("num1 : %d < num2 : %d"%(num1,num2))
num1 = random.randrange(1,9)  #調用模塊的函數
num2 = random.randrange(1,9)
compareNum(num1,num2)

4.異常名

由於異常也是類,因此類的命名習慣在這裏也適用。不一樣的是,若是異常其實是個錯誤,則須要在異常名字的後面使用Error後綴

5.全局變量名

全局變量名咱們假設這些變量都是在模塊內部使用的。命名所遵循的規則跟函數的命名規則基本相同。

相關文章
相關標籤/搜索