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)¶
- 戻り値: 新しい参照。
コードオブジェクト code に関連付けられた新しい関数オブジェクトを返します。globals はこの関数からアクセスできるグローバル変数の辞書でなければなりません。
関数のドキュメント文字列と名前はコードオブジェクトから取得されます。
__module__
は globals から取得されます。 引数のデフォルト値やアノテーション、クロージャはNULL
に設定されます。__qualname__
はコードオブジェクトのco_qualname
フィールドと同じ値に設定されます。
-
PyObject *PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)¶
- 戻り値: 新しい参照。
PyFunction_New()
に似ていますが、関数オブジェクトの__qualname__
属性に値をセットできます。 qualname はユニコードオブジェクトかNULL
でなくてはなりません。NULL
だった場合、__qualname__
属性にはコードオブジェクトのco_qualname
フィールドと同じ値がセットされます。バージョン 3.3 で追加.
-
PyObject *PyFunction_GetModule(PyObject *op)¶
- 戻り値: 借用参照。
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)¶
- 戻り値: 借用参照。
関数オブジェクト op の引数のデフォルト値を返します。 引数のタプルか
NULL
になります。
-
int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)¶
関数オブジェクト op の引数のデフォルト値を設定します。 defaults は
Py_None
かタプルでなければいけません。失敗した時は、
SystemError
を発生させ、-1
を返します。
-
PyObject *PyFunction_GetClosure(PyObject *op)¶
- 戻り値: 借用参照。
関数オブジェクト op に設定されたクロージャを返します。
NULL
か cell オブジェクトのタプルです。
-
int PyFunction_SetClosure(PyObject *op, PyObject *closure)¶
関数オブジェクト op にクロージャを設定します。 closure は、
Py_None
もしくは cell オブジェクトのタプルでなければなりません。失敗した時は、
SystemError
を発生させ、-1
を返します。
-
PyObject *PyFunction_GetAnnotations(PyObject *op)¶
- 戻り値: 借用参照。
関数オブジェクト op のアノテーションを返します。 返り値は修正可能な辞書か
NULL
になります。
-
int PyFunction_SetAnnotations(PyObject *op, PyObject *annotations)¶
関数オブジェクト op のアノテーションを設定します。 annotations は辞書か、
Py_None
でなければなりません。失敗した時は、
SystemError
を発生させ、-1
を返します。