【发布时间】:2016-03-23 18:40:56
【问题描述】:
为了使用 Scintilla.Net 完成代码,我需要在表达式中有效的关键字列表。您可以通过“关键字”模块获取所有关键字,但例如“raise”和“print”不能在 lambda 表达式中使用。如何获得精简后的关键字列表?
keyword.kwlist 产量
['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']
表达式中可以使用哪些?
【问题讨论】:
-
所有关键字都有效..问题是它必须是“表达”而不是“陈述”(如果您觉得其他问题不是这里关于原因的重复评论,我会投票适当时重新打开)
-
例如“lambda : raise Exception()”不起作用,因此“raise”似乎不是表达式中的有效关键字。 “print”在 Python 3 中有效,在 Python 2 中无效。
-
raise Exception()是一个语句而不是一个表达式......阅读欺骗 -
对,那么raise关键字在表达式中不是有效关键字,或者你能构造一个包含raise的表达式吗?我只想要有效关键字的列表。
-
no raise 不能在表达式中使用……你说得对……但它与关键字无关……
标签: python python-2.7 scintillanet