Python 标识符
标识符是用户为变量、函数、类、模块和其他对象定义的名称。听起来很简单,但实际上并非如此。标识符并非随意命名,它通过赋予事物相关的名称,使代码更易读、更易理解。为此,必须遵循许多规则。
在本教程中,我们将学习编写标识符的规则、有效和无效标识符的示例、如何测试字符串是否为有效标识符,最后,我们将了解命名标识符的最佳实践。
一、Python 中标识符的编写规则
编写 Python 标识符时必须遵循一些命名约定和规则:
● 关键字 不能用作标识符名称,因为它们是 Python 编程语言中的保留字。如果尝试这样做,将会抛出 SyntaxError 异常。● Python 标识符可以包含小写字母 (a–z)、大写字母 (A–Z)、数字 (0–9) 和下划线 (_)。● 标识符不能以数字开头。例如,10test 就是一个无效的标识符。● Python 标识符不能只包含数字。例如,888 就是一个无效的标识符。● Python 标识符名称可以以下划线开头。因此,_test 就是一个有效的标识符。● 标识符名称的长度没有限制。但是,不要使用过长的标识符,这只会损害你作为程序员的信誉。● Python 标识符区分大小写。"abc" 和 "ABC" 是两个不同的标识符。为了保持程序之间的一致性,最好使用小写字母作为标识符。二、Python 中有效标识符的示例
让我们来看一些 Python 中有效标识符的例子:
三、Python 中无效标识符的示例
现在让我们来看一些 Python 中无效标识符的例子:
● for :它是 Python 中的一个保留关键字四、如何测试一个字符串是否为有效的标识符?
我们可以使用字符串的 isidentifier() 函数来检查标识符名称是否有效。但是,这种方法不会考虑保留关键字。因此,我们可以结合 keyword.iskeyword() 函数来检查名称是否有效。
print("abc".isidentifier()) # Trueprint("99a".isidentifier()) # Falseprint("_".isidentifier()) # Trueprint("for".isidentifier()) # True - wrong output⚠️ 注意:我们知道 "for" 是一个保留关键字,所以它不是一个有效的标识符。虽然 isidentifier() 返回 True,但这并不能代表它就是可用作标识符的名称。让我们定义一个函数来测试标识符名称是否真正有效:
defis_valid_identifier(s):return s.isidentifier() and not keyword.iskeyword(s)print(is_valid_identifier("for")) # False五、Python 中标识符命名最佳实践
● 类名应以大写字母开头。例如:Person、Employee 等。● 如果类名包含多个单词,则每个单词的首字母必须大写(PascalCase)。例如:EmployeeData、StringUtils 等。● 变量、函数和模块名称应该使用小写字母。例如,collections、foo() 等。● 如果变量、函数和模块名称包含多个单词,则用下划线分隔(snake_case)。例如,is_empty()、employee_object 等。● 标识符名称的首尾字符应避免使用下划线。Python 内置类型会使用下划线。● 如果标识符以两个下划线开头和结尾,则表示该标识符是语言定义的特殊名称,例如 __init__。应避免标识符名称的开头和结尾都使用双下划线。● 保持标识符名称的含义清晰明确,例如:phone_number、is_uppercase 等。● 如果一个函数返回布尔值,最好以 "is" 开头命名。例如,isidentifier、iskeyword 等。● 标识符名称的长度没有限制,但请保持简洁明了。例如,the_employee_object_first_name 可以更好地命名为 emp_first_name。📋 总结
关键字和标识符是 Python 中两个至关重要的概念。Python 标识符是用作变量名的名称,旨在提高代码的可读性和易理解性。在本教程中,我们学习了标识符的命名规则,并提供了有效和无效标识符的示例。在编写程序标识符时,务必牢记这些规则。
下一步是什么?
你对 Python 中的标识符有了初步了解。现在,你应该学习以下教程,掌握 Python 编程的基础知识:
📚 参考文档:Python 官方文档 - Lexical Analysis