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
を返します。