mirror of
https://github.com/python/cpython.git
synced 2025-12-15 21:44:50 +00:00
Split C API docs in Py3k branch.
This commit is contained in:
parent
135bf209ac
commit
54a3faae08
45 changed files with 7290 additions and 5379 deletions
94
Doc/c-api/method.rst
Normal file
94
Doc/c-api/method.rst
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
.. highlightlang:: c
|
||||
|
||||
.. _instancemethod-objects:
|
||||
|
||||
Instance Method Objects
|
||||
-----------------------
|
||||
|
||||
.. index:: object: instancemethod
|
||||
|
||||
An instance method is a wrapper for a :cdata:`PyCFunction` and the new way
|
||||
to bind a :cdata:`PyCFunction` to a class object. It replaces the former call
|
||||
``PyMethod_New(func, NULL, class)``.
|
||||
|
||||
|
||||
.. cvar:: PyTypeObject PyInstanceMethod_Type
|
||||
|
||||
This instance of :ctype:`PyTypeObject` represents the Python instance
|
||||
method type. It is not exposed to Python programs.
|
||||
|
||||
|
||||
.. cfunction:: int PyInstanceMethod_Check(PyObject *o)
|
||||
|
||||
Return true if *o* is an instance method object (has type
|
||||
:cdata:`PyInstanceMethod_Type`). The parameter must not be *NULL*.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyInstanceMethod_New(PyObject *func)
|
||||
|
||||
Return a new instance method object, with *func* being any callable object
|
||||
*func* is is the function that will be called when the instance method is
|
||||
called.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyInstanceMethod_Function(PyObject *im)
|
||||
|
||||
Return the function object associated with the instance method *im*.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im)
|
||||
|
||||
Macro version of :cfunc:`PyInstanceMethod_Function` which avoids error checking.
|
||||
|
||||
|
||||
.. _method-objects:
|
||||
|
||||
Method Objects
|
||||
--------------
|
||||
|
||||
.. index:: object: method
|
||||
|
||||
Methods are bound function objects. Methods are always bound to an instance of
|
||||
an user-defined class. Unbound methods (methods bound to a class object) are
|
||||
no longer available.
|
||||
|
||||
|
||||
.. cvar:: PyTypeObject PyMethod_Type
|
||||
|
||||
.. index:: single: MethodType (in module types)
|
||||
|
||||
This instance of :ctype:`PyTypeObject` represents the Python method type. This
|
||||
is exposed to Python programs as ``types.MethodType``.
|
||||
|
||||
|
||||
.. cfunction:: int PyMethod_Check(PyObject *o)
|
||||
|
||||
Return true if *o* is a method object (has type :cdata:`PyMethod_Type`). The
|
||||
parameter must not be *NULL*.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyMethod_New(PyObject *func, PyObject *self)
|
||||
|
||||
Return a new method object, with *func* being any callable object and *self*
|
||||
the instance the method should be bound. *func* is is the function that will
|
||||
be called when the method is called. *self* must not be *NULL*.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyMethod_Function(PyObject *meth)
|
||||
|
||||
Return the function object associated with the method *meth*.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyMethod_GET_FUNCTION(PyObject *meth)
|
||||
|
||||
Macro version of :cfunc:`PyMethod_Function` which avoids error checking.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyMethod_Self(PyObject *meth)
|
||||
|
||||
Return the instance associated with the method *meth*.
|
||||
|
||||
|
||||
.. cfunction:: PyObject* PyMethod_GET_SELF(PyObject *meth)
|
||||
|
||||
Macro version of :cfunc:`PyMethod_Self` which avoids error checking.
|
||||
Loading…
Add table
Add a link
Reference in a new issue