| .. highlightlang:: c | |
| .. _method-objects: | |
| Method Objects | |
| -------------- | |
| .. index:: object: method | |
| There are some useful functions that are useful for working with method objects. | |
| .. c:var:: PyTypeObject PyMethod_Type | |
| .. index:: single: MethodType (in module types) | |
| This instance of :c:type:`PyTypeObject` represents the Python method type. This | |
| is exposed to Python programs as ``types.MethodType``. | |
| .. c:function:: int PyMethod_Check(PyObject *o) | |
| Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). The | |
| parameter must not be *NULL*. | |
| .. c:function:: PyObject* PyMethod_New(PyObject *func, PyObject *self, PyObject *class) | |
| Return a new method object, with *func* being any callable object; this is the | |
| function that will be called when the method is called. If this method should | |
| be bound to an instance, *self* should be the instance and *class* should be the | |
| class of *self*, otherwise *self* should be *NULL* and *class* should be the | |
| class which provides the unbound method.. | |
| .. c:function:: PyObject* PyMethod_Class(PyObject *meth) | |
| Return the class object from which the method *meth* was created; if this was | |
| created from an instance, it will be the class of the instance. | |
| .. c:function:: PyObject* PyMethod_GET_CLASS(PyObject *meth) | |
| Macro version of :c:func:`PyMethod_Class` which avoids error checking. | |
| .. c:function:: PyObject* PyMethod_Function(PyObject *meth) | |
| Return the function object associated with the method *meth*. | |
| .. c:function:: PyObject* PyMethod_GET_FUNCTION(PyObject *meth) | |
| Macro version of :c:func:`PyMethod_Function` which avoids error checking. | |
| .. c:function:: PyObject* PyMethod_Self(PyObject *meth) | |
| Return the instance associated with the method *meth* if it is bound, otherwise | |
| return *NULL*. | |
| .. c:function:: PyObject* PyMethod_GET_SELF(PyObject *meth) | |
| Macro version of :c:func:`PyMethod_Self` which avoids error checking. | |
| .. c:function:: int PyMethod_ClearFreeList() | |
| Clear the free list. Return the total number of freed items. | |
| .. versionadded:: 2.6 |