オブジェクトをヒープ上にメモリ確保する
**************************************

PyObject *_PyObject_New(PyTypeObject *type)
    *Return value: New reference.*

PyVarObject *_PyObject_NewVar(PyTypeObject *type, Py_ssize_t size)
    *Return value: New reference.*

PyObject *PyObject_Init(PyObject *op, PyTypeObject *type)
    *Return value: Borrowed reference.** Part of the Stable ABI.*

   新たにメモリ確保されたオブジェクト *op* に対し、型と初期状態での参
   照 (initial reference) を初期化します。初期化されたオブジェクトを返
   します。*type* からそのオブジェクトが循環参照ガベージ検出の機能を有
   する場合、検出機構が監視対象とするオブジェクトのセットに追加されま
   す。オブジェクトの他のフィールドには影響を及ぼしません。

PyVarObject *PyObject_InitVar(PyVarObject *op, PyTypeObject *type, Py_ssize_t size)
    *Return value: Borrowed reference.** Part of the Stable ABI.*

   "PyObject_Init()" の全ての処理を行い、可変サイズオブジェクトの場合
   には長さ情報も初期化します。

TYPE *PyObject_New(TYPE, PyTypeObject *type)
    *Return value: New reference.*

   Allocate a new Python object using the C structure type *TYPE* and
   the Python type object *type*.  Fields not defined by the Python
   object header are not initialized. The caller will own the only
   reference to the object (i.e. its reference count will be one). The
   size of the memory allocation is determined from the "tp_basicsize"
   field of the type object.

TYPE *PyObject_NewVar(TYPE, PyTypeObject *type, Py_ssize_t size)
    *Return value: New reference.*

   C 構造体型 *TYPE* と Python 型オブジェクト *type* を使って新しい
   Python オブジェクトをメモリ上に確保します。 Python オブジェクトヘッ
   ダで定義されていないフィールドは初期化されません。確保されたメモリ
   は、 *TYPE* 構造体に加え、*type* の "tp_itemsize" フィールドで指定
   されているサイズを *size* 個分の大きさを格納できます。この関数は、
   例えばタプルのように生成時にサイズを決定できるオブジェクトを実装す
   る際に便利です。一連の複数のフィールドのメモリ割り当てを一度で行う
   ことでアロケーション回数を減らし、メモリ管理の効率が向上します。

void PyObject_Del(void *op)

   "PyObject_New()" や "PyObject_NewVar()" で 確保したメモリを解放しま
   す。通常、この関数はオブジェクトの型に指定されている "tp_dealloc"
   ハンドラから呼び出されます。 この関数を呼び出した後は、メモリ領域は
   もはや有効な Python オブジェクトを表現していないので、オブジェクト
   のフィールド に対してアクセスしてはなりません。

PyObject _Py_NoneStruct

   Python からは "None" に見えるオブジェクトです。この値へのアクセスは
   、このオブジェクトへのポインタを評価する "Py_None" マクロを使わなけ
   ればなりません。

参考:

  "PyModule_Create()"
     拡張モジュールのアロケートと生成。
