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.

Docstring dan nama fungsi diambil dari objek kode. __module__ diambil dari global. Default argumen, anotasi dan penutupan diatur ke NULL. __qualname__ diatur ke nilai yang sama dengan nama fungsi.

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

Seperti PyFunction_New(), tetapi juga memungkinkan pengaturan atribut __qualname__ pada objek fungsi. qualname harus berupa objek unicode atau NULL; jika NULL, atribut __qualname__ diatur ke nilai yang sama dengan atribut __name__.

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.

Mengembalikan nilai argumen default dari objek fungsi op. Ini bisa berupa argumen tuple atau NULL.

int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)

Menetapkan nilai argumen default untuk objek fungsi op. default harus Py_None atau tuple.

Menimbulkan SystemError dan mengembalikan -1 jika gagal.

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

Mengembalikan penutupan yang terkait dengan objek fungsi op. Ini bisa berupa NULL atau tuple objek sel.

int PyFunction_SetClosure(PyObject *op, PyObject *closure)

Mengatur penutupan yang terkait dengan objek fungsi op. closure harus berupa Py_None atau tuple objek sel.

Menimbulkan SystemError dan mengembalikan -1 jika gagal.

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

Kembalikan anotasi objek fungsi op. Ini bisa berupa dictionary yang bisa berubah atau NULL.

int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)

Mengatur anotasi untuk objek fungsi op. annotations harus berupa dictionary atau Py_None.

Menimbulkan SystemError dan mengembalikan -1 jika gagal.