歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python命名規范

Python命名規范

日期:2017/3/1 9:15:14   编辑:Linux編程

Python 標識符

參見:這裡

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

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

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

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

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

Python保留字符

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

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

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類型false

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.全局變量名

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

CentOS上源碼安裝Python3.4 http://www.linuxidc.com/Linux/2015-01/111870.htm

《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版] http://www.linuxidc.com/Linux/2013-06/85425.htm

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

在Ubuntu下用Python搭建桌面算法交易研究環境 http://www.linuxidc.com/Linux/2013-11/92534.htm

Python 語言的發展簡史 http://www.linuxidc.com/Linux/2014-09/107206.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved