diff options
author | Georg Brandl <georg@python.org> | 2008-01-20 09:30:57 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2008-01-20 09:30:57 (GMT) |
commit | 54a3faae0806ab1dd8290e16acc8ab7acdd4762b (patch) | |
tree | 3f58890aaea549244ca64e911f8deee3ca5bd08d /Doc/c-api/function.rst | |
parent | 135bf209ac9a44244a97fd3bf5ff638a320e1a43 (diff) | |
download | cpython-54a3faae0806ab1dd8290e16acc8ab7acdd4762b.zip cpython-54a3faae0806ab1dd8290e16acc8ab7acdd4762b.tar.gz cpython-54a3faae0806ab1dd8290e16acc8ab7acdd4762b.tar.bz2 |
Split C API docs in Py3k branch.
Diffstat (limited to 'Doc/c-api/function.rst')
-rw-r--r-- | Doc/c-api/function.rst | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/Doc/c-api/function.rst b/Doc/c-api/function.rst new file mode 100644 index 0000000..e9ed2ab --- /dev/null +++ b/Doc/c-api/function.rst @@ -0,0 +1,83 @@ +.. highlightlang:: c + +.. _function-objects: + +Function Objects +---------------- + +.. index:: object: function + +There are a few functions specific to Python functions. + + +.. ctype:: PyFunctionObject + + The C structure used for functions. + + +.. cvar:: PyTypeObject PyFunction_Type + + .. index:: single: MethodType (in module types) + + This is an instance of :ctype:`PyTypeObject` and represents the Python function + type. It is exposed to Python programmers as ``types.FunctionType``. + + +.. cfunction:: int PyFunction_Check(PyObject *o) + + Return true if *o* is a function object (has type :cdata:`PyFunction_Type`). + The parameter must not be *NULL*. + + +.. cfunction:: PyObject* PyFunction_New(PyObject *code, PyObject *globals) + + Return a new function object associated with the code object *code*. *globals* + must be a dictionary with the global variables accessible to the function. + + The function's docstring, name and *__module__* are retrieved from the code + object, the argument defaults and closure are set to *NULL*. + + +.. cfunction:: PyObject* PyFunction_GetCode(PyObject *op) + + Return the code object associated with the function object *op*. + + +.. cfunction:: PyObject* PyFunction_GetGlobals(PyObject *op) + + Return the globals dictionary associated with the function object *op*. + + +.. cfunction:: PyObject* PyFunction_GetModule(PyObject *op) + + Return the *__module__* attribute of the function object *op*. This is normally + a string containing the module name, but can be set to any other object by + Python code. + + +.. cfunction:: PyObject* PyFunction_GetDefaults(PyObject *op) + + Return the argument default values of the function object *op*. This can be a + tuple of arguments or *NULL*. + + +.. cfunction:: int PyFunction_SetDefaults(PyObject *op, PyObject *defaults) + + Set the argument default values for the function object *op*. *defaults* must be + *Py_None* or a tuple. + + Raises :exc:`SystemError` and returns ``-1`` on failure. + + +.. cfunction:: PyObject* PyFunction_GetClosure(PyObject *op) + + Return the closure associated with the function object *op*. This can be *NULL* + or a tuple of cell objects. + + +.. cfunction:: int PyFunction_SetClosure(PyObject *op, PyObject *closure) + + Set the closure associated with the function object *op*. *closure* must be + *Py_None* or a tuple of cell objects. + + Raises :exc:`SystemError` and returns ``-1`` on failure. |