モジュールに対する唯一の特殊な演算は属性へのアクセス:
m.name
です。ここで m はモジュールで、
name は m のシンボルテーブル上に定義された名前に
アクセスします。モジュール属性も代入することができます。
(import 文は、厳密にいえば、モジュールオブジェクトに
対する演算です; import foo
は foo と名づけられた
モジュールオブジェクトが存在することを必要とはせず、
むしろ foo と名づけられた (外部の) モジュールの定義
を必要とします。)
各モジュールの特殊なメンバは __dict__ です。
これはモジュールのシンボルテーブルを含む辞書です。
この辞書を修正すると、実際にはモジュールのシンボルテーブルを変更
しますが、__dict__ 属性を直接代入することはできません
(m.__dict__['a'] = 1
と書いて m.a
を 1
に定義することはできますが、m.__dict__ = {}
と
書くことはできません) 。 __dict__ を直接編集するのは推奨されません。
インタプリタ内に組み込まれたモジュールは、
<module 'sys' (built-in)>
のように書かれます。
ファイルから読み出された場合、 <module 'os' from
'/usr/local/lib/python2.5/os.pyc'>
と書かれます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。