すべての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']
keyword.kwlist
docから:通訳のために定義されたすべてのキーワードを含む
シーケンス。キーワード
__future__
が有効な場合にのみアクティブになるように定義されているキーワードも含まれます。from keyword import kwlist print kwlist
標準keywordモジュールが自動的に生成されます。私は考えることができる
OPが探している答えである可能性は非常に高いですが、OPは「キーワード」ではなく「ステートメント」を求めていたので、私はこの回答を投稿しませんでした。 –
これは私の目的のために、感謝します! – rectangletangle
TBH私はちょうど彼の例を見て、気付かなかった。すべての 'print'、' for'、 'if'は上のリストにあるので、とにかく私はその答えにユーザーが来るよう警告を出します。 –
組み込み関数は、そう、__builtins__
と呼ばれるモジュールにあります。
dir(__builtins__)
このコードがインポートされたモジュールにある場合、代わりに '__builtins __。keys()'になると思います。あるいは、Python 3では 'import builtins'をモジュールに関係なく' dir(builtins) 'にインポートします。 https://docs.python.org/3/reference/executionmodel.html "デフォルトでは、' __main__'モジュールの中で '__builtins__'は組み込みモジュール' builtins'です;他のモジュールでは、 '__builtins__ 'は' builtins'モジュール自体の辞書のエイリアスです。 " –
最も近いアプローチは次のようです。 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)
>>> 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
break for not
class from or
continue global pass
?あるいは表現式のために?または、すべてのキーワードのリストが好きですか? –
とにかく: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)を参照してください。 –
あなたはそれが必要な理由についていくつかの背景を提供できますか? –