如何检查字符串在Python中是否为有效关键字?

像其他语言一样,Python也有一些保留字。这些词有一些特殊的含义。有时可能是命令或参数等。我们不能将关键字用作变量名。

在本节中,我们将看到如何检查字符串是否为有效关键字。

要检查这一点,我们必须在Python中导入关键字模块。

import keyword

在关键字模块中,有一个功能iskeyword()。它可用于检查字符串是否为有效关键字。

在下面的示例中,我们提供一个单词列表,并检查单词是否为关键字。我们只是使用此程序将关键字和非关键字分开。

范例程式码

import keyword
str_list = ['for', 'TP', 'python', 'del', 'Mango', 'assert', 'yield','if','Lion', 'as','Snake', 'box', 'return', 'try', 'loop', 'eye', 'global', 'while', 'update', 'is']
keyword_list = []
non_keyword_list = []
for item in str_list:
   if keyword.iskeyword(item):
      keyword_list.append(item)
   else:
      non_keyword_list.append(item)
print("Keywords: " + str(keyword_list))
print("\nNon Keywords: " + str(non_keyword_list))

输出结果

Keywords: ['for']

Non Keywords: ['TP']
Keywords: ['for']

Non Keywords: ['TP', 'python']
Keywords: ['for', 'del']

Non Keywords: ['TP', 'python', 'Mango']
Keywords: ['for', 'del', 'assert', 'yield', 'if']

Non Keywords: ['TP', 'python', 'Mango', 'Lion']
Keywords: ['for', 'del', 'assert', 'yield', 'if', 'as']

Non Keywords: ['TP', 'python', 'Mango', 'Lion', 'Snake']
Keywords: ['for', 'del', 'assert', 'yield', 'if', 'as']

Non Keywords: ['TP', 'python', 'Mango', 'Lion', 'Snake', 'box']
Keywords: ['for', 'del', 'assert', 'yield', 'if', 'as', 'return', 'try']

Non Keywords: ['TP', 'python', 'Mango', 'Lion', 'Snake', 'box', 'loop']
Keywords: ['for', 'del', 'assert', 'yield', 'if', 'as', 'return', 'try']

Non Keywords: ['TP', 'python', 'Mango', 'Lion', 'Snake', 'box', 'loop', 'eye']
Keywords: ['for', 'del', 'assert', 'yield', 'if', 'as', 'return', 'try', 'global', 'while']

Non Keywords: ['TP', 'python', 'Mango', 'Lion', 'Snake', 'box', 'loop', 'eye', 'update']

关键字模块还有另一个选项可以将所有关键字作为列表获取。

范例程式码

import keyword
print("All Keywords:")
print(keyword.kwlist)

输出结果

All Keywords:['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']