Objek Fungsi

Terdapat beberapa fungsi spesifik untuk fungsi Python.

type 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)

Mengembalikan nilai true jika o adalah objek fungsi (memiliki tipe PyFunction_Type). Parameter tidak boleh NULL. Fungsi ini selalu sukses.

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.

Return a borrowed reference to the __module__ attribute of the function object op. It can be NULL.

This is normally a string containing the module name, but can be set to any other object by Python code.

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.