2012-03-09 10 views
27

すべてのPythonsキーワードのリストを文字列として取得したいと考えています。組み込みの関数でも同様のことができるのであれば、それは気の利いたものになります。このようなPythonでキーワードのリストを取得できますか?

何か:

import syntax 
print syntax.keywords 
# prints ['print', 'if', 'for', etc...] 
+1

?あるいは表現式のために?または、すべてのキーワードのリストが好きですか? –

+4

とにかく:Python言語のドキュメント:[簡単なステートメント](http://docs.python.org/reference/simple_stmts.html)、[Compundステートメント](http://docs.python.org/reference/compound_stmts)を参照してください。 html)と[キーワード](http://docs.python.org/reference/lexical_analysis.html#keywords)を参照してください。 –

+1

あなたはそれが必要な理由についていくつかの背景を提供できますか? –

答えて

53

あなたにキーワードを見せながらあなたは、およそを尋ねました出力例。あなたはキーワードを探しているなら、それらは全て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'] 

keyword.kwlist docから:通訳のために定義されたすべてのキーワードを含む

シーケンス。キーワード__future__が有効な場合にのみアクティブになるように定義されているキーワードも含まれます。

from keyword import kwlist 
print kwlist 

標準keywordモジュールが自動的に生成されます。私は考えることができる

+0

OPが探している答えである可能性は非常に高いですが、OPは「キーワード」ではなく「ステートメント」を求めていたので、私はこの回答を投稿しませんでした。 –

+0

これは私の目的のために、感謝します! – rectangletangle

+0

TBH私はちょうど彼の例を見て、気付かなかった。すべての 'print'、' for'、 'if'は上のリストにあるので、とにかく私はその答えにユーザーが来るよう警告を出します。 –

8

組み込み関数は、そう、__builtins__と呼ばれるモジュールにあります。

dir(__builtins__) 
+0

このコードがインポートされたモジュールにある場合、代わりに '__builtins __。keys()'になると思います。あるいは、Python 3では 'import builtins'をモジュールに関係なく' dir(builtins) 'にインポートします。 https://docs.python.org/3/reference/executionmodel.html "デフォルトでは、' __main__'モジュールの中で '__builtins__'は組み込みモジュール' builtins'です;他のモジュールでは、 '__builtins__ 'は' builtins'モジュール自体の辞書のエイリアスです。 " –

4

最も近いアプローチは次のようです。 PythonからのPythonの解析に関連するその他のことについては、language servicesモジュールのセットを確認してください。

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) 
1

>>> help()

:あなたはCPythonのインタプリタに直接実装されるパッケージで__builtin__モジュールや関数内の項目を求めているなら、私は明確ではないよ組み込みコマンドをリストについて

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

あなたは代入文のために、このリストには期待する何列210

break for not

class from or

continue global pass

関連する問題