セルオブジェクト—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/3.9/c-api/cell
移動先:案内検索

セルオブジェクト

「セル」オブジェクトは、複数のスコープによって参照される変数を実装するために使用されます。 このような変数ごとに、値を格納するためのセルオブジェクトが作成されます。 値を参照する各スタックフレームのローカル変数には、その変数も使用する外部スコープからのセルへの参照が含まれます。 値にアクセスすると、セルオブジェクト自体の代わりに、セルに含まれる値が使用されます。 セルオブジェクトのこの逆参照には、生成されたバイトコードからのサポートが必要です。 これらは、アクセス時に自動的に参照解除されません。 セルオブジェクトは、他の場所では役に立たない可能性があります。

type PyCellObject
セルオブジェクトに使用されるC構造体。
PyTypeObject PyCell_Type
セルオブジェクトに対応するタイプオブジェクト。
int PyCell_Check(ob)
ob がセルオブジェクトの場合はtrueを返します。 obNULLであってはなりません。 この関数は常に成功します。
PyObject *PyCell_New(PyObject *ob)
ob を含む新しいセルオブジェクトを作成して返します。 パラメータはNULLの場合があります。
PyObject *PyCell_Get(PyObject *cell)
セルセルの内容を返します。
PyObject *PyCell_GET(PyObject *cell)
セルセルの内容を返しますが、セルが非NULLおよびセルオブジェクトであることを確認しません。
int PyCell_Set(PyObject *cell, PyObject *value)
セルオブジェクトセルの内容をに設定します。 これにより、セルの現在のコンテンツへの参照が解放されます。 NULLの場合があります。 セルNULL以外である必要があります。 セルオブジェクトでない場合は、-1が返されます。 成功すると、0が返されます。
void PyCell_SET(PyObject *cell, PyObject *value)
セルオブジェクト cell の値を value に設定します。 参照カウントは調整されず、安全性のチェックも行われません。 セルは非NULLである必要があり、セルオブジェクトである必要があります。