Function オブジェクト
*********************

Functionオブジェクト固有の関数はわずかです。

PyFunctionObject

   関数に使われるCの構造体。

PyTypeObject PyFunction_Type

   "PyTypeObject" 型のインスタンスで、 Python の関数型を表します。これ
   は Python プログラムに "types.FunctionType" として公開されています
   。

int PyFunction_Check(PyObject *o)

   *o* が関数オブジェクト ("PyFunction_Type" 型なら) なら true を返し
   ます。引数は *NULL* であってはいけません。

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

   コードオブジェクト *code* に関連付けられた新しい関数オブジェクトを
   返します。*globals* はこの関数からアクセスできるグローバル変数の辞
   書でなければなりません。

   関数のドキュメント文字列、名前および *__module__* はコードオブジェ
   クトから取得されます。引数のデフォルト値やクロージャは *NULL* にセ
   ットされます。

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

   関数オブジェクト *op* に関連付けられたコードオブジェクトを返します
   。

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

   関数オブジェクト *op* に関連付けられたglobals辞書を返します。

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

   関数オブジェクト *op* の *__module__* 属性を返します。これには普通
   はモジュール名の文字列が入っていますが、Python コードから他のオブジ
   ェクトをセットされることもあります。

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

   関数オブジェクト *op* の引数のデフォルト値を返します。引数のタプル
   か *NULL* になります。

int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)

   関数オブジェクト *op* の引数のデフォルト値を設定します。*defaults*
   は *Py_None* かタプルでなければいけません。

   失敗した時は、 "SystemError" を発生させ、 "-1" を返します。

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

   関数オブジェクト *op* に設定されたクロージャを返します。*NULL* か
   cell オブジェクトのタプルです。

int PyFunction_SetClosure(PyObject *op, PyObject *closure)

   関数オブジェクト *op* にクロージャを設定します。*closure* は、
   *Py_None* もしくは cell オブジェクトのタプルでなければなりません。

   失敗した時は、 "SystemError" を発生させ、 "-1" を返します。
