代码版本:3.6.3
关键字是指Python中的保留字,是已经规定好的有其固定作用的词,定义变量时不能与关键字重名。关键字不是变量,只是一种有特殊用处的词语。keyword模块中的kwlist是一个列表,存放了Python中所有的关键字(str格式)。关键字其实很好分辨,就是编写代码时那些不曾定义过就直接使用的单词(不是符号),而且使用时决不能带括号,那就一定是关键字,用这个规则,再回忆编写一个模块的过程,就能把所有关键字想出来了。
Python3共有33个关键字,Python2共有31个关键字,下面有Python3中的所有关键字。比Python2中的关键字少了`exec`和`print`,多了`False`、`True`、`None`和`nonlocal`,这三个也是仅有的首字母大写的。
import keyword
print(keyword.kwlist)
print(keyword.iskeyword('is'))
运行结果
['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']
True
记忆思路(脑子瓦特了才背这个呢,别看)
导入:
import as from定义、释放:
class def lambda del
pass
global nonlocal
return yield循环、判断:
while for in if else elif
is not and or
None True False
break continue异常、断言:
try except finally with
raise assert
keyword模块提供了两个对象
# keyword.py 部分源码
__all__ = ["iskeyword", "kwlist"]
keyword.kwlist是一个列表,里面放着所有的关键字。
keyword.iskeyword()接收一个字符串参数,返回其是不是关键字(True/False)
iskeyword调用的是魔法方法__contains__
# keyword.py 部分源码
iskeyword = frozenset(kwlist).__contains__