モジュールオブジェクト (module object)
**************************************

モジュールオブジェクト固有の関数は数個しかありません。

PyTypeObject PyModule_Type

   この "PyTypeObject" のインスタンスは Python のモジュールオブジェク
   ト型を表現します。このオブジェクトは、Python プログラムには
   "types.ModuleType"  として公開されています。

int PyModule_Check(PyObject *p)

   *p* がモジュールオブジェクトかモジュールオブジェクトのサブタイプで
   あるときに真を返します。

   バージョン 2.2 で変更: サブタイプを引数にとれるようになりました.

int PyModule_CheckExact(PyObject *p)

   *p* がモジュールオブジェクトで、かつモジュールオブジェクトのサブタ
   イプでないときに真を返します。 "PyModule_Type".

   バージョン 2.2 で追加.

PyObject* PyModule_New(const char *name)
    *Return value: New reference.*

   "__name__" 属性が *name* に設定された新たなモジュールオブジェクトを
   返します。モジュールの "__doc__" および "__name__" 属性だけに値が入
   っています; "__file__" 属性に値を入れるのは呼び出し側の責任です。

PyObject* PyModule_GetDict(PyObject *module)
    *Return value: Borrowed reference.*

   *module* の名前空間を実現する辞書オブジェクトを返します; このオブジ
   ェクトはモジュールオブジェクトの "__dict__" と同じです。この関数が
   失敗することはありません。  拡張モジュールでは、この関数で得たモジ
   ュールの "__dict__" を直接いじるより、他の "PyModule_*()" および
   "PyObject_*()" 関数を使うよう勧めます。

char* PyModule_GetName(PyObject *module)

   *module* の "__name__" の値を返します。モジュールがこの属性を提供し
   ていない場合や文字列型でない場合、 "SystemError" を送出して *NULL*
   を返します。

char* PyModule_GetFilename(PyObject *module)

   *module* をロードするために使ったファイルの名前を、 *module* の
   "__file__" 属性から調べて返します。 "__file__" が定義されていない場
   合や文字列型でない場合、 "SystemError" を送出して *NULL* を返します
   。

int PyModule_AddObject(PyObject *module, const char *name, PyObject *value)

   *module* にオブジェクトを *name* として追加します。この関数はモジュ
   ールの初期化関数から利用される便宜関数です。これは *value* への参照
   を盗みます。エラーのときには "-1" を、成功したときには "0" を返しま
   す。

   バージョン 2.0 で追加.

int PyModule_AddIntConstant(PyObject *module, const char *name, long value)

   *module* に整数定数を *name* として追加します。この便宜関数はモジュ
   ールの初期化関数から利用されています。エラーのときには "-1" を、成
   功したときには "0" を返します。

   バージョン 2.0 で追加.

int PyModule_AddStringConstant(PyObject *module, const char *name, const char *value)

   *module* に文字列定数を *name* として追加します。この便宜関数はモジ
   ュールの初期化関数から利用されています。文字列 *value* は null 終端
   されていなければなりません。エラーのときには "-1" を、成功したとき
   には "0" を返します。

   バージョン 2.0 で追加.

int PyModule_AddIntMacro(PyObject *module, macro)

   *module* に int 定数を追加します。名前と値は *macro* から取得されま
   す。例えば、"PyModule_AddIntMacro(module, AF_INET)" とすると、
   *AF_INET* という名前の int 型定数を *AF_INET* の値で *module* に追
   加します。エラー時には "-1" を、成功時には "0" を返します。

   バージョン 2.6 で追加.

int PyModule_AddStringMacro(PyObject *module, macro)

      文字列定数を *module* に追加します。

   バージョン 2.6 で追加.
