There are a few functions specific to Python functions.
PyFunctionObject
¶
The C structure used for functions.
PyFunction_Type
¶
This is an instance of
PyTypeObject
and represents the Python function type. It is exposed to Python programmers as
types.FunctionType
.
PyFunction_Check
(
PyObject
*o
)
¶
返回 True 若
o
is a function object (has type
PyFunction_Type
). The parameter must not be
NULL
.
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 and name are retrieved from the code object. __module__ is retrieved from globals . The argument defaults, annotations and closure are set to NULL . __qualname__ is set to the same value as the function’s name.
PyFunction_NewWithQualName
(
PyObject
*code
,
PyObject
*globals
,
PyObject
*qualname
)
¶
As
PyFunction_New()
, but also allows setting the function object’s
__qualname__
属性。
qualname
should be a unicode object or NULL; if NULL, the
__qualname__
attribute is set to the same value as its
__name__
属性。
3.3 版新增。
PyFunction_GetCode
(
PyObject
*op
)
¶
Return the code object associated with the function object op .
PyFunction_GetGlobals
(
PyObject
*op
)
¶
Return the globals dictionary associated with the function object op .
PyFunction_GetModule
(
PyObject
*op
)
¶
返回 __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.
PyFunction_GetDefaults
(
PyObject
*op
)
¶
Return the argument default values of the function object op . This can be a tuple of arguments or NULL .
PyFunction_SetDefaults
(
PyObject
*op
,
PyObject
*defaults
)
¶
Set the argument default values for the function object op . defaults 必须是 Py_None or a tuple.
引发
SystemError
并返回
-1
当故障时。
PyFunction_GetClosure
(
PyObject
*op
)
¶
Return the closure associated with the function object op . This can be NULL or a tuple of cell objects.
PyFunction_SetClosure
(
PyObject
*op
,
PyObject
*closure
)
¶
Set the closure associated with the function object op . closure 必须是 Py_None or a tuple of cell objects.
引发
SystemError
并返回
-1
当故障时。
PyFunction_GetAnnotations
(
PyObject
*op
)
¶
Return the annotations of the function object op . This can be a mutable dictionary or NULL .
PyFunction_SetAnnotations
(
PyObject
*op
,
PyObject
*annotations
)
¶
Set the annotations for the function object op . annotations must be a dictionary or Py_None .
引发
SystemError
并返回
-1
当故障时。