1from .object cimport PyObject 2 3cdef extern from "Python.h": 4 5 ############################################################################ 6 # 7.5.3 Function Objects 7 ############################################################################ 8 # There are a few functions specific to Python functions. 9 10 # PyFunctionObject 11 # 12 # The C structure used for functions. 13 14 # PyTypeObject PyFunction_Type 15 # 16 # This is an instance of PyTypeObject and represents the Python 17 # function type. It is exposed to Python programmers as 18 # types.FunctionType. 19 20 bint PyFunction_Check(object o) 21 # Return true if o is a function object (has type 22 # PyFunction_Type). The parameter must not be NULL. 23 24 object PyFunction_New(object code, object globals) 25 # Return value: New reference. 26 # Return a new function object associated with the code object 27 # code. globals must be a dictionary with the global variables 28 # accessible to the function. 29 # The function's docstring, name and __module__ are retrieved from 30 # the code object, the argument defaults and closure are set to 31 # NULL. 32 33 PyObject* PyFunction_GetCode(object op) except? NULL 34 # Return value: Borrowed reference. 35 # Return the code object associated with the function object op. 36 37 PyObject* PyFunction_GetGlobals(object op) except? NULL 38 # Return value: Borrowed reference. 39 # Return the globals dictionary associated with the function object op. 40 41 PyObject* PyFunction_GetModule(object op) except? NULL 42 # Return value: Borrowed reference. 43 # Return the __module__ attribute of the function object op. This 44 # is normally a string containing the module name, but can be set 45 # to any other object by Python code. 46 47 PyObject* PyFunction_GetDefaults(object op) except? NULL 48 # Return value: Borrowed reference. 49 # Return the argument default values of the function object 50 # op. This can be a tuple of arguments or NULL. 51 52 int PyFunction_SetDefaults(object op, object defaults) except -1 53 # Set the argument default values for the function object 54 # op. defaults must be Py_None or a tuple. 55 # Raises SystemError and returns -1 on failure. 56 57 PyObject* PyFunction_GetClosure(object op) except? NULL 58 # Return value: Borrowed reference. 59 # Return the closure associated with the function object op. This 60 # can be NULL or a tuple of cell objects. 61 62 int PyFunction_SetClosure(object op, object closure) except -1 63 # Set the closure associated with the function object op. closure 64 # must be Py_None or a tuple of cell objects. 65 # Raises SystemError and returns -1 on failure. 66