Objekte für Instanzmethoden

Eine Instanzmethode ist eine Hülle um eine PyCFunction und der neue Weg, eine PyCFunction an ein Klassenobjekt zu binden. Sie ersetzt den früheren Aufruf PyMethod_New(func, NULL, class).

PyTypeObject PyInstanceMethod_Type

Diese Instanz von PyTypeObject stellt den Python-Typ für Instanzmethoden dar. Sie wird Python-Programmen nicht zugänglich gemacht.

int PyInstanceMethod_Check(PyObject *o)

Gibt wahr zurück, wenn o ein Objekt einer Instanzmethode ist (also den Typ PyInstanceMethod_Type hat). Der Parameter darf nicht NULL sein. Diese Funktion gelingt immer.

PyObject *PyInstanceMethod_New(PyObject *func)
Rückgabewert: neue Referenz.

Gibt ein neues Objekt für eine Instanzmethode zurück, wobei func ein beliebiges aufrufbares Objekt sein darf. func ist die Funktion, die aufgerufen wird, wenn die Instanzmethode aufgerufen wird.

PyObject *PyInstanceMethod_Function(PyObject *im)
Rückgabewert: geliehene Referenz.

Gibt das Funktionsobjekt zurück, das zur Instanzmethode im gehört.

PyObject *PyInstanceMethod_GET_FUNCTION(PyObject *im)
Rückgabewert: geliehene Referenz.

Makro-Fassung von PyInstanceMethod_Function(), die auf die Fehlerprüfung verzichtet.

Methodenobjekte

Methoden sind gebundene Funktionsobjekte. Methoden sind immer an eine Instanz einer benutzerdefinierten Klasse gebunden. Ungebundene Methoden (an ein Klassenobjekt gebundene Methoden) gibt es nicht mehr.

PyTypeObject PyMethod_Type

Diese Instanz von PyTypeObject stellt den Python-Typ für Methoden dar. Python-Programmen wird er als types.MethodType zugänglich gemacht.

int PyMethod_Check(PyObject *o)

Gibt wahr zurück, wenn o ein Methodenobjekt ist (also den Typ PyMethod_Type hat). Der Parameter darf nicht NULL sein. Diese Funktion gelingt immer.

PyObject *PyMethod_New(PyObject *func, PyObject *self)
Rückgabewert: neue Referenz.

Gibt ein neues Methodenobjekt zurück, wobei func ein beliebiges aufrufbares Objekt ist und self die Instanz, an die die Methode gebunden werden soll. func ist die Funktion, die aufgerufen wird, wenn die Methode aufgerufen wird. self darf nicht NULL sein.

PyObject *PyMethod_Function(PyObject *meth)
Rückgabewert: geliehene Referenz.

Gibt das Funktionsobjekt zurück, das zur Methode meth gehört.

PyObject *PyMethod_GET_FUNCTION(PyObject *meth)
Rückgabewert: geliehene Referenz.

Makro-Fassung von PyMethod_Function(), die auf die Fehlerprüfung verzichtet.

PyObject *PyMethod_Self(PyObject *meth)
Rückgabewert: geliehene Referenz.

Gibt die Instanz zurück, die zur Methode meth gehört.

PyObject *PyMethod_GET_SELF(PyObject *meth)
Rückgabewert: geliehene Referenz.

Makro-Fassung von PyMethod_Self(), die auf die Fehlerprüfung verzichtet.