Function オブジェクト¶
Functionオブジェクト固有の関数はわずかです。
-
type
PyFunctionObject¶ 関数に使われるCの構造体。
-
PyTypeObject
PyFunction_Type¶ PyTypeObject型のインスタンスで、 Python の関数型を表します。これは Python プログラムにtypes.FunctionTypeとして公開されています。
-
int
PyFunction_Check(PyObject *o)¶ o が関数オブジェクト (
PyFunction_Type型である) 場合に真を返します。パラメータはNULLにできません。この関数は常に成功します。
-
PyObject *
PyFunction_New(PyObject *code, PyObject *globals)¶ - Return value: New reference.
コードオブジェクト code に関連付けられた新しい関数オブジェクトを返します。globals はこの関数からアクセスできるグローバル変数の辞書でなければなりません。
関数のドキュメント文字列と名前はコードオブジェクトから取得されます。 __module__ は globals から取得されます。 引数のデフォルト値やアノテーション、クロージャは
NULLに設定されます。 __qualname__ は関数名と同じ値に設定されます。
-
PyObject *
PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)¶ - Return value: New reference.
PyFunction_New()に似ていますが、関数オブジェクトの__qualname__属性に値をセットできます。 qualname はユニコードオブジェクトかNULLでなくてはなりません。NULLだった場合、__qualname__属性には__name__属性と同じ値がセットされます。バージョン 3.3 で追加.
-
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.
Return a borrowed reference to the __module__ attribute of the function object op. It can be NULL.
これには普通はモジュール名の文字列が入っていますが、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を返します。
-
PyObject *
PyFunction_GetAnnotations(PyObject *op)¶ - Return value: Borrowed reference.
関数オブジェクト op のアノテーションを返します。 返り値は修正可能な辞書か
NULLになります。
-
int
PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)¶ 関数オブジェクト op のアノテーションを設定します。 annotations は辞書か、
Py_Noneでなければなりません。失敗した時は、
SystemErrorを発生させ、-1を返します。