Objek Fungsi

Terdapat beberapa fungsi spesifik untuk fungsi Python.

PyFunctionObject

Struktur C yang digunakan untuk fungsi.

PyTypeObject PyFunction_Type

Ini adalah instance dari PyTypeObject dan mewakili jenis fungsi Python. Itu diekspos ke programmer Python sebagai types.FunctionType.

int PyFunction_Check(PyObject *o)

Return true if o is a function object (has type PyFunction_Type). The parameter must not be NULL.

PyObject* PyFunction_New(PyObject *code, PyObject *globals)
Return value: New reference.

Mengembalikan objek fungsi baru yang terkait dengan objek kode code. global harus berupa dictionary dengan variabel global yang dapat diakses oleh fungsi tersebut.

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.

PyObject* PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)
Return value: New reference.

As PyFunction_New(), but also allows setting the function object's __qualname__ attribute. qualname should be a unicode object or NULL; if NULL, the __qualname__ attribute is set to the same value as its __name__ attribute.

Baru pada versi 3.3.

PyObject* PyFunction_GetCode(PyObject *op)
Return value: Borrowed reference.

Mengembalikan objek kode yang terkait dengan objek fungsi op.

PyObject* PyFunction_GetGlobals(PyObject *op)
Return value: Borrowed reference.

Mengembalikan dictionary global yang terkait dengan objek fungsi op.

PyObject* PyFunction_GetModule(PyObject *op)
Return value: Borrowed reference.

Mengembalikan atribut __module__ dari objek fungsi op. Ini biasanya berupa string yang berisi nama modul, tetapi dapat diatur ke objek lain dengan kode Python.

PyObject* PyFunction_GetDefaults(PyObject *op)
Return value: Borrowed reference.

Return the argument default values of the function object op. This can be a tuple of arguments or NULL.

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.

Menimbulkan SystemError dan mengembalikan -1 jika gagal.

PyObject* PyFunction_GetClosure(PyObject *op)
Return value: Borrowed reference.

Return the closure associated with the function object op. This can be NULL or a tuple of cell objects.

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.

Menimbulkan SystemError dan mengembalikan -1 jika gagal.

PyObject *PyFunction_GetAnnotations(PyObject *op)

Return the annotations of the function object op. This can be a mutable dictionary or NULL.

int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)

Set the annotations for the function object op. annotations must be a dictionary or Py_None.

Menimbulkan SystemError dan mengembalikan -1 jika gagal.