19.3.2 代入ノード

代入をあらわすのに使われる一群のノードが存在します。 ソースコードにおけるそれぞれの代入文は、抽象構文木 AST では 単一のノード Assign になっています。 nodes 属性は各代入の対象にたいするノードのリストです。 これが必要なのは、たとえば a = b = 2 のように 代入が連鎖的に起こるためです。 このリスト中における各 Node は、 次のうちどれかのクラスになります: AssAttrAssListAssName、 または AssTuple

代入対象の各ノードには代入されるオブジェクトの種類が記録されています。 AssNamea = 1 などの単純な変数名、 AssAttra.x = 1 などの属性に対する代入、 AssList および AssTuple はそれぞれ、 a, b, c = a_tuple などのようなリストとタプルの展開をあらわします。

代入対象ノードはまた、そのノードが代入で使われるのか、それとも del 文で使われるのかをあらわす属性 flags も持っています。 AssNamedel x などのような del 文をあらわすのにも 使われます。

ある式がいくつかの属性への参照をふくんでいるときは、 代入あるいは del 文はただひとつだけの AssAttr ノードをもちます - 最終的な属性への参照としてです。それ以外の属性への参照は AssAttr インスタンスの expr 属性にある Getattr ノードによってあらわされます。

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