.. 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