keyword学习
程序员文章站
2024-03-24 08:20:04
...
keyword学习
在keyword里主要有两个成员
kwlist:关键字集合
iskeyword:判断一个str是否为关键字
比如
import keyword
print(keyword.kwlist)
print(keyword.iskeyword('none'))
print(keyword.iskeyword('None'))
输出结果
['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']
False
True
在keyword.py中iskeyword的函数原型是
iskeyword = frozenset(kwlist).__contains__
frozenset 是python的内置函数
frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
__contains__是class frozenset 的一个成员函数
x.__contains__(y) <==> y in x.
这部分可在pycharm在的builtins.py下查看
builtins.py这个文件给出的是一些声明,是pycharm为了方便提示加的假代码
而这些基础类型有的实现是C实现的。所以作为IDE,就用pass来代替其内容了。
具体的源代码,可以在gittub查看