Instance Method Objects

An instance method is a wrapper for a PyCFunction and the new way to bind a PyCFunction to a class object. It replaces the former call PyMethod_New(func, NULL, class).

PyTypeObject PyInstanceMethod_Type

This instance of PyTypeObject represents the Python instance method type. It is not exposed to Python programs.

int PyInstanceMethod_Check(PyObject *o)

Return true if o is an instance method object (has type PyInstanceMethod_Type). The parameter must not be NULL.

PyObject* PyInstanceMethod_New(PyObject *func)

Return a new instance method object, with func being any callable object func is the function that will be called when the instance method is called.

PyObject* PyInstanceMethod_Function(PyObject *im)

Return the function object associated with the instance method im.

PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im)

Macro version of PyInstanceMethod_Function() which avoids error checking.

Method Objects

Methods are bound function objects. Methods are always bound to an instance of a user-defined class. Unbound methods (methods bound to a class object) are no longer available.

PyTypeObject PyMethod_Type

This instance of PyTypeObject represents the Python method type. This is exposed to Python programs as types.MethodType.

int PyMethod_Check(PyObject *o)

Return true if o is a method object (has type PyMethod_Type). The parameter must not be NULL.

PyObject* PyMethod_New(PyObject *func, PyObject *self)
Return value: New reference.

Return a new method object, with func being any callable object and self the instance the method should be bound. func is the function that will be called when the method is called. self must not be NULL.

PyObject* PyMethod_Function(PyObject *meth)
Return value: Borrowed reference.

Return the function object associated with the method meth.

PyObject* PyMethod_GET_FUNCTION(PyObject *meth)
Return value: Borrowed reference.

Macro version of PyMethod_Function() which avoids error checking.

PyObject* PyMethod_Self(PyObject *meth)
Return value: Borrowed reference.

Return the instance associated with the method meth.

PyObject* PyMethod_GET_SELF(PyObject *meth)
Return value: Borrowed reference.

Macro version of PyMethod_Self() which avoids error checking.

int PyMethod_ClearFreeList()

Clear the free list. Return the total number of freed items.