17db96d56Sopenharmony_ci.. highlight:: c 27db96d56Sopenharmony_ci 37db96d56Sopenharmony_ci.. _instancemethod-objects: 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciInstance Method Objects 67db96d56Sopenharmony_ci----------------------- 77db96d56Sopenharmony_ci 87db96d56Sopenharmony_ci.. index:: pair: object; instancemethod 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ciAn instance method is a wrapper for a :c:data:`PyCFunction` and the new way 117db96d56Sopenharmony_cito bind a :c:data:`PyCFunction` to a class object. It replaces the former call 127db96d56Sopenharmony_ci``PyMethod_New(func, NULL, class)``. 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci 157db96d56Sopenharmony_ci.. c:var:: PyTypeObject PyInstanceMethod_Type 167db96d56Sopenharmony_ci 177db96d56Sopenharmony_ci This instance of :c:type:`PyTypeObject` represents the Python instance 187db96d56Sopenharmony_ci method type. It is not exposed to Python programs. 197db96d56Sopenharmony_ci 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ci.. c:function:: int PyInstanceMethod_Check(PyObject *o) 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci Return true if *o* is an instance method object (has type 247db96d56Sopenharmony_ci :c:data:`PyInstanceMethod_Type`). The parameter must not be ``NULL``. 257db96d56Sopenharmony_ci This function always succeeds. 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ci 287db96d56Sopenharmony_ci.. c:function:: PyObject* PyInstanceMethod_New(PyObject *func) 297db96d56Sopenharmony_ci 307db96d56Sopenharmony_ci Return a new instance method object, with *func* being any callable object. 317db96d56Sopenharmony_ci *func* is the function that will be called when the instance method is 327db96d56Sopenharmony_ci called. 337db96d56Sopenharmony_ci 347db96d56Sopenharmony_ci 357db96d56Sopenharmony_ci.. c:function:: PyObject* PyInstanceMethod_Function(PyObject *im) 367db96d56Sopenharmony_ci 377db96d56Sopenharmony_ci Return the function object associated with the instance method *im*. 387db96d56Sopenharmony_ci 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci.. c:function:: PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im) 417db96d56Sopenharmony_ci 427db96d56Sopenharmony_ci Macro version of :c:func:`PyInstanceMethod_Function` which avoids error checking. 437db96d56Sopenharmony_ci 447db96d56Sopenharmony_ci 457db96d56Sopenharmony_ci.. _method-objects: 467db96d56Sopenharmony_ci 477db96d56Sopenharmony_ciMethod Objects 487db96d56Sopenharmony_ci-------------- 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ci.. index:: pair: object; method 517db96d56Sopenharmony_ci 527db96d56Sopenharmony_ciMethods are bound function objects. Methods are always bound to an instance of 537db96d56Sopenharmony_cia user-defined class. Unbound methods (methods bound to a class object) are 547db96d56Sopenharmony_cino longer available. 557db96d56Sopenharmony_ci 567db96d56Sopenharmony_ci 577db96d56Sopenharmony_ci.. c:var:: PyTypeObject PyMethod_Type 587db96d56Sopenharmony_ci 597db96d56Sopenharmony_ci .. index:: single: MethodType (in module types) 607db96d56Sopenharmony_ci 617db96d56Sopenharmony_ci This instance of :c:type:`PyTypeObject` represents the Python method type. This 627db96d56Sopenharmony_ci is exposed to Python programs as ``types.MethodType``. 637db96d56Sopenharmony_ci 647db96d56Sopenharmony_ci 657db96d56Sopenharmony_ci.. c:function:: int PyMethod_Check(PyObject *o) 667db96d56Sopenharmony_ci 677db96d56Sopenharmony_ci Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). The 687db96d56Sopenharmony_ci parameter must not be ``NULL``. This function always succeeds. 697db96d56Sopenharmony_ci 707db96d56Sopenharmony_ci 717db96d56Sopenharmony_ci.. c:function:: PyObject* PyMethod_New(PyObject *func, PyObject *self) 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ci Return a new method object, with *func* being any callable object and *self* 747db96d56Sopenharmony_ci the instance the method should be bound. *func* is the function that will 757db96d56Sopenharmony_ci be called when the method is called. *self* must not be ``NULL``. 767db96d56Sopenharmony_ci 777db96d56Sopenharmony_ci 787db96d56Sopenharmony_ci.. c:function:: PyObject* PyMethod_Function(PyObject *meth) 797db96d56Sopenharmony_ci 807db96d56Sopenharmony_ci Return the function object associated with the method *meth*. 817db96d56Sopenharmony_ci 827db96d56Sopenharmony_ci 837db96d56Sopenharmony_ci.. c:function:: PyObject* PyMethod_GET_FUNCTION(PyObject *meth) 847db96d56Sopenharmony_ci 857db96d56Sopenharmony_ci Macro version of :c:func:`PyMethod_Function` which avoids error checking. 867db96d56Sopenharmony_ci 877db96d56Sopenharmony_ci 887db96d56Sopenharmony_ci.. c:function:: PyObject* PyMethod_Self(PyObject *meth) 897db96d56Sopenharmony_ci 907db96d56Sopenharmony_ci Return the instance associated with the method *meth*. 917db96d56Sopenharmony_ci 927db96d56Sopenharmony_ci 937db96d56Sopenharmony_ci.. c:function:: PyObject* PyMethod_GET_SELF(PyObject *meth) 947db96d56Sopenharmony_ci 957db96d56Sopenharmony_ci Macro version of :c:func:`PyMethod_Self` which avoids error checking. 96