30.1.3 ASTオブジェクトに対する問い合わせ

ASTが式またはsuiteとして作成されたかどうかをアプリケーションが決定できるようにする二つの関数が提供されています。これらの関数のどちらも、ASTがexpr()またはsuite()を通してソースコードから作られたかどうか、あるいは、sequence2ast()を通して解析木から作られたかどうかを決定できません。

isexpr( ast)
ast'eval'形式を表している場合に、この関数は真を返します。そうでなければ、偽を返します。これは役に立ちます。なぜならば、通常は既存の組み込み関数を使ってもコードオブジェクトに対してこの情報を問い合わせることができないからです。このどちらのようにもcompileast()によって作成されたコードオブジェクトに問い合わせることはできませんし、そのコードオブジェクトは組み込みcompile()関数によって作成されたコードオブジェクトと同じであることに注意してください。

issuite( ast)
ASTオブジェクトが(通常``suite''として知られる)'exec'形式を表しているかどうかを報告するという点で、この関数はisexpr()に酷似しています。追加の構文が将来サポートされるかもしれないので、この関数が"not isexpr(ast)"と等価であるとみなすのは安全ではありません。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。