标识符命名规则:
标识符就是定义的变量名、函数名、模块名
- 由字母、数字和下划线组成
- 不能以数字开头
- 不能与关键字重名
关键字
可以通过以下命令查询 Python 的关键字
# 导入keyword的工具包
import keyword
# 输出keyword关键字列表
print(keyword.kwlist)
关键字列表如下所示
['False', 'None', 'True', 'and', 'as', 'assert', 'async',
'await', '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']
变量的命名规则:
命名规则可被视为一种惯例,并无绝对与强制;目的是为了增强代码的识别与可读性。(注意Python中的标识符是区分大小写的)
- 在定义变量时,为了保证代码的格式,= 的左右应各保留一个空格
- 在Python中,如果变量名需要由两个或多个单词组成时,可以按照以下方式命名
a、每个单词都使用小写字母
b、单词与单词之间使用下划线 “_” 连接
c、例如 last_name、first_name
应该避免的名称
1、单字符名称, 除了计数器和迭代器.
2、包/模块名中的连字符(-)
3、双下划线开头并结尾的名称(Python保留, 例如__init__)
命名约定
1、所谓"内部(Internal)"表示仅模块内可用, 或者, 在类内是保护或私有的.
2、用单下划线(_)开头表示模块变量或函数是protected的(使用import * from时不会包含).
3、用双下划线(__)开头的实例变量或方法表示类内私有.
4、将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块.
5、对类名使用大写字母开头的单词(如CapWords, 即Pascal风格),
但是模块名应该用小写加下划线的方式(如lower_with_under.py).尽管已经有很多现存的模块使用类似于CapWords.py这样的命名, 但现在已经不鼓励这样做, 因为如果模块名碰巧和类名一致, 这会让人困扰.
Python之父Guido推荐的规范
Type | Public (公共) | Internal (内部) |
---|---|---|
Modules(模块) | lower_with_under(小写+下划线) | _lower_with_under |
Packages(包) | lower_with_under | |
Classes(类) | CapWords(大驼峰命名) | _CapWords |
Exceptions(异常) | CapWords | |
Functions(函数) | lower_with_under() | _lower_with_under() |
Global/Class Constants(全局/类 常量) | CAPS_WITH_UNDER | _CAPS_WITH_UNDER |
Global/Class Variables(全局/类 变量) | lower_with_under | _lower_with_under |
Instance Variables(实例变量) | lower_with_under | _lower_with_under (protected) or __lower_with_under (private) |
Method Names(方法名) | lower_with_under() | _lower_with_under() (protected) or __lower_with_under() (private) |
Function/Method Parameters(函数/方法参数) | lower_with_under | |
Local Variables(本地变量) | lower_with_under |
驼峰命名法
当变量名由两个或多个单词组成时,还可以用驼峰命名法来命名
小驼峰命名法(第一个单词首字母小写,后续单词首字母大写 ,例如:firstName lastName)
大驼峰命名法(每个单词首字母都大写,例如:FirstName LastName)