Python中isidentifier()函數的作用是檢查一個字符串是否是Python有效的標識符。
標識符是用來定義Python中的變量、類、函數名稱、模塊名稱以及Python中的保留字。標識符命名時應遵循一定的規則,否則導致語法錯誤。Python中合法的標識符應滿足以下規則:
(1)標識符只能由下劃線或字母開始,不能是數字;
(2)標識符中不能含除下劃線之外的其它特殊字符,如$,#,%,~等;
(3)在定義自己的標識符時,不能使用Python的保留字。
(4)Python中理論上可以使用Unicode中除特殊字符、格式控制符、不可打印字符、符號字符、空白符之外的所有字符,如漢字,英文字母、日語平假名、希臘字母等;
(5)Python中標識符的長度沒有限制,且是大小寫敏感的。
其它關于標識符的知識,可以閱讀上面提到的那篇文章。
關于標識符的有關概念,讀者可以去閱讀本站的另一篇文章:Python中的標識符命名方法及使用注意事項。
實際上,按照規則,一般我們不會出現什么問題,但有時可能需要判斷一個標識符是否為合法的Python標識符。這時isidentifier()函數就派上用場了。其語法格式如下:
str.isidentifier()
該函數沒有參數,如果 str 是合法的標識符,則返回 True ,否則返回 False .
>>> 'X'.isidentifer()
True
>>> 'a123'.isidentifer()
True
>>> '_a_student'.isidentifier()
True
>>> '2people'.isidentifier() # 以數字開頭
False
>>> '_2people'.isidentifier() # 以下劃線開頭
True
>>> 'stu$fee'.isidentifier() # 包含不合法字符$
False
>>> 'str-1'.isidentifier() # 包含不合法字符-
False
>>> 'while'.isidentifier() # Python中的關鍵字
True
>>> '人數'.isidentifer() #使用漢字作為標識符
True
>>> 'αβ'.isidentifier()
True
從上面的輸出可以看到,Python中isidentifier()函數不僅能判斷用戶定義的標識符是否合法,同時也能把Python的保留關鍵字判斷為有效的標識符。如果想判斷一個標識符是否是Python的保留關鍵字,可以使用keword模塊中的iskeyword函數來判斷,詳見《Python中的標識符命名方法及使用注意事項》一文。
本文(完)。
新聞熱點
疑難解答