symbian-qemu-0.9.1-12/python-2.6.1/Doc/c-api/function.rst
changeset 1 2fb8b9db1c86
equal deleted inserted replaced
0:ffa851df0825 1:2fb8b9db1c86
       
     1 .. highlightlang:: c
       
     2 
       
     3 .. _function-objects:
       
     4 
       
     5 Function Objects
       
     6 ----------------
       
     7 
       
     8 .. index:: object: function
       
     9 
       
    10 There are a few functions specific to Python functions.
       
    11 
       
    12 
       
    13 .. ctype:: PyFunctionObject
       
    14 
       
    15    The C structure used for functions.
       
    16 
       
    17 
       
    18 .. cvar:: PyTypeObject PyFunction_Type
       
    19 
       
    20    .. index:: single: MethodType (in module types)
       
    21 
       
    22    This is an instance of :ctype:`PyTypeObject` and represents the Python function
       
    23    type.  It is exposed to Python programmers as ``types.FunctionType``.
       
    24 
       
    25 
       
    26 .. cfunction:: int PyFunction_Check(PyObject *o)
       
    27 
       
    28    Return true if *o* is a function object (has type :cdata:`PyFunction_Type`).
       
    29    The parameter must not be *NULL*.
       
    30 
       
    31 
       
    32 .. cfunction:: PyObject* PyFunction_New(PyObject *code, PyObject *globals)
       
    33 
       
    34    Return a new function object associated with the code object *code*. *globals*
       
    35    must be a dictionary with the global variables accessible to the function.
       
    36 
       
    37    The function's docstring, name and *__module__* are retrieved from the code
       
    38    object, the argument defaults and closure are set to *NULL*.
       
    39 
       
    40 
       
    41 .. cfunction:: PyObject* PyFunction_GetCode(PyObject *op)
       
    42 
       
    43    Return the code object associated with the function object *op*.
       
    44 
       
    45 
       
    46 .. cfunction:: PyObject* PyFunction_GetGlobals(PyObject *op)
       
    47 
       
    48    Return the globals dictionary associated with the function object *op*.
       
    49 
       
    50 
       
    51 .. cfunction:: PyObject* PyFunction_GetModule(PyObject *op)
       
    52 
       
    53    Return the *__module__* attribute of the function object *op*. This is normally
       
    54    a string containing the module name, but can be set to any other object by
       
    55    Python code.
       
    56 
       
    57 
       
    58 .. cfunction:: PyObject* PyFunction_GetDefaults(PyObject *op)
       
    59 
       
    60    Return the argument default values of the function object *op*. This can be a
       
    61    tuple of arguments or *NULL*.
       
    62 
       
    63 
       
    64 .. cfunction:: int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)
       
    65 
       
    66    Set the argument default values for the function object *op*. *defaults* must be
       
    67    *Py_None* or a tuple.
       
    68 
       
    69    Raises :exc:`SystemError` and returns ``-1`` on failure.
       
    70 
       
    71 
       
    72 .. cfunction:: PyObject* PyFunction_GetClosure(PyObject *op)
       
    73 
       
    74    Return the closure associated with the function object *op*. This can be *NULL*
       
    75    or a tuple of cell objects.
       
    76 
       
    77 
       
    78 .. cfunction:: int PyFunction_SetClosure(PyObject *op, PyObject *closure)
       
    79 
       
    80    Set the closure associated with the function object *op*. *closure* must be
       
    81    *Py_None* or a tuple of cell objects.
       
    82 
       
    83    Raises :exc:`SystemError` and returns ``-1`` on failure.