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.

   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 code object's "co_qualname" field.

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 the code object's "co_qualname" field.

   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.
