国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python中的標識符命名方法及使用注意事項

2023-04-27 19:03:19
字體:
來源:轉載
供稿:網友

Python中的標識符是由用戶定義的名稱,用來指定變量名稱、函數名稱、類名稱,模塊等名稱。

1、標識符的命名規則

(1)不能使用Python的保留字(關鍵字)來命名標識符;

(2)Python標識符合法的字符包括:26個大小寫字母[a-z,A-Z],10個阿拉伯數字[0-9]及下劃線;

(3)標識符不能以數字開頭;

(4)標識符開始字符可以是大小寫字母或下劃線;

(5)Python中標識符的長度沒有限制;

(6)Python標識符是大小寫敏感的(即字母大小寫代表不同的標識符)。

2、一些符合要求的標識符示例

name1   有字母和數字構成,且開頭字符是字母;

student_age   有字母和下劃線構成;

_income   有下劃線開始

為了增強程序的可讀性,特別是比較長或大型程序中,在命名標識符時,最好能見名知義,否則時間久了,連自己都不知道代表什么意思,當然,寫注釋也是幫助理解程序的一種很好的做法。

3、一些不合法的標識符示例:

100   不允許只有數字構成;

3year   標識符不能以數字開頭

a-b   標識符中包含不合法的字符(-)

for  標識符是Python中的關鍵字

teacher and student   標識符包含非法的字符-空格或空白

3、標識符有效性檢驗

在Python中,可以使用 isidentifier() 函數來檢驗一個標識符是否是合法的。但是,這個函數不會忽略Python中的關鍵字。即,你準備使用Python中的關鍵字來命名自己的標識符的話,這個函數也會認為是有效的,畢竟,Python中的關鍵字也是標識符,只不過是Python中保留下來用于構建自己的語法組成。

但是,我們可以借助另外一個函數 keyword.iskeyword() 來判斷一個標識符是不是關鍵字,使用這兩個函數就可以完全來檢驗自己定義的標識符是不是有效的了。

具體操作代碼:

print("name1".isidentifier())     #True
print("100".isidentifier())          #False
print("_income".isidentifier())  #True
print("3year".isidentifier())       #False
print("a-b".isidentifier())          #False
print("for".isidentifier())           #True

最后一個,for被判定為True,但它是Python的關鍵字,我們不能使用它來命名自己的標識符。

可以使用下面的程序先來判斷一下要使用的標識符是不是關鍵字,如果不是的話,再進一步使用上面的函數來判斷是不是有效的標識符即可。

import keyword
print(keyword.iskeyword("for"))   # True

上面輸出的為True,則for為關鍵字,你就不能使用它作為自己的標識符了。

上面在Python3.8.3Shell中運行的情況如下圖所示:

Python中的標識符命名規則

如果有需要的話,可以定義一個函數來實現相關的功能:

def isValidIdentifier(str):
      return str.isidentifier() and not keyword.iskeyword(str)

print(isValidIdentifier("for"))   # False

5、Python標識符命名最佳實踐

(1)類名最好以大寫字母開始,如Student,Teacher,Employee,等。

(2)如果類名有多個單詞構成,則每個單詞的開頭字母都要大寫,如StudentClass, FileHelper等。

(3)變量的名稱、函數的名稱、模塊的名稱,要使用小寫字母來命名,如 age, say(),等。

(4)如果變量、函數名稱、模塊名稱由多個單詞構成,則單詞與單詞間使用下劃線進行分隔:如:student_name, print_score()等。

(5)如果變量被定義為私有變量,則命名可以使用下劃線作為開始字符;

(6)避免命名標識符時,開頭字符和結尾字符都是下劃線,因為這種標識符是Python的內置類型;

(7)避免標識符的開頭和結尾同時有兩個下劃線,這是因為這種命名方式是Python語言定義的特殊名稱;

(8)盡量使標識符的命名有意義,見名知義是最好的方法,如 student_name要比sn好很多;

(9)如果一個函數返回一個布爾類型的結果,則最好在給函數命名時以"is"開頭,如:isfineshed,isateacher等。

(10)雖然在Python中,標識符的長度沒有限制,但最好是使其盡可能的短,如 stu_first_name要比the_student_entity_fist_name好很多。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江源县| 鄂伦春自治旗| 永顺县| 镇坪县| 福州市| 台中县| 宁夏| 大石桥市| 东兰县| 甘南县| 广灵县| 荔浦县| 黔江区| 黑水县| 长武县| 金阳县| 贵南县| 开远市| 茶陵县| 郑州市| 手机| 灵川县| 澜沧| 吉首市| 大同市| 霍林郭勒市| 个旧市| 平和县| 荥经县| 进贤县| 镇安县| 恩施市| 什邡市| 邵阳县| 尤溪县| 晋城| 井研县| 阜平县| 正蓝旗| 济阳县| 屯昌县|