我想獲得所有Pythons關鍵字列表作爲字符串。如果我可以爲內置函數做類似的事情,那也是相當不錯的。是否有可能在Python中獲取關鍵字列表?
事情是這樣的:
import syntax
print syntax.keywords
# prints ['print', 'if', 'for', etc...]
我想獲得所有Pythons關鍵字列表作爲字符串。如果我可以爲內置函數做類似的事情,那也是相當不錯的。是否有可能在Python中獲取關鍵字列表?
事情是這樣的:
import syntax
print syntax.keywords
# prints ['print', 'if', 'for', etc...]
你問到陳述,同時表現出關鍵字在輸出示例。
如果您正在尋找關鍵字,他們列出的所有keyword
模塊:
>>> import keyword
>>> keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import',
'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try',
'while', 'with', 'yield']
序列包含解釋定義的所有關鍵字。如果任何關鍵字被定義爲只有在特定的語句生效時纔有效,那麼這些關鍵字也將包含在內。
我沒有發佈這個答案,因爲OP詢問「陳述」,而不是「關鍵字」,儘管很可能這是OP正在尋找的答案。 – 2012-03-09 23:06:22
這將適用於我的目的,謝謝! – rectangletangle 2012-03-09 23:07:37
TBH我只是看着他的例子,甚至沒有注意到。所有的'print','for'和'if'都在上面的列表中,所以......無論如何,我會在答案中給用戶發出警告。 – 2012-03-09 23:14:14
內置的功能是一個叫做__builtins__
模塊中,因此:
dir(__builtins__)
如果這段代碼位於導入的模塊中,我認爲它應該是'__builtins __。keys()'。或者在Python 3中,無論模塊如何,都需要'import builtins'然後'dir(builtins)'。 https://docs.python.org/3/reference/executionmodel.html「默認情況下,在'__main__'模塊中,'__builtins__'是內置模塊'builtins';當在其他模塊中時,'__builtins__ '是'builtins'模塊本身的字典的別名。「 – 2016-06-26 07:19:29
我能想到的最接近的是以下幾點:
from keyword import kwlist
print kwlist
標準keyword模塊自動生成。對於與Python從Python解析相關的其他內容,請檢查language services模塊集合。
關於上市我不清楚,如果你要求爲__builtin__
模塊中的項目和功能在包在CPython的解釋直接實現了內建的:
import __builtin__ as B
from inspect import isbuiltin
# You're either asking for this:
print [name for name in dir(B) if isbuiltin(getattr(B, name))]
# Or this:
print dir(B)
>>> help()
幫助>關鍵字
以下是Python關鍵字的列表。輸入任何關鍵字以獲得更多幫助。
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass
你會在這個列表中的賦值語句有什麼期望字符串?或者用於表達式語句?或者你是否喜歡所有關鍵字的列表? – 2012-03-09 22:57:17
無論如何:請參閱Python語言文檔:[Simple statements](http://docs.python.org/reference/simple_stmts.html),[Compund statements](http://docs.python.org/reference/compound_stmts。 html)和[關鍵字](http://docs.python.org/reference/lexical_analysis.html#keywords)。 – 2012-03-09 22:58:33
你能提供一些背景知道爲什麼你需要這個嗎? – 2012-03-09 22:59:49