2.2.7 その他いろいろ

上にあげたほとんどの関数は、その値として 0 を与えれば 省略できることを忘れないでください。それぞれの関数で提供しなければならない 型の定義があり、これらは Python の include 用ディレクトリの object.h というファイルにおさめられています。これは Python の 配布ソースに含まれています。

新しいデータ型に何らかのメソッドを実装するやりかたを学ぶには、 以下の方法がおすすめです: Python の配布されているソースをダウンロードして 展開する。Objects ディレクトリへ行き、C のソースファイルから 「tp_欲しい名前」の文字列で検索する (たとえば tp_print とか tp_compare のように)。こうすれば実装したい例がみつかるでしょう。

あるオブジェクトが、いま実装している型のインスタンスであるかどうかを 確かめたい場合には、 PyObject_TypeCheck 関数を使ってください。 使用例は以下のようなかんじです:

    if (! PyObject_TypeCheck(some_object, &MyType)) {
        PyErr_SetString(PyExc_TypeError, "arg #1 not a mything");
        return NULL;
    }
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。