Objetos Function¶
Existem algumas funções específicas para as funções do Python.
-
type
PyFunctionObject
¶ A estrutura C usada para funções.
-
PyTypeObject
PyFunction_Type
¶ Esta é uma instância de
PyTypeObject
e representa o tipo de função Python. Está exposto aos programadores Python comotypes.FunctionType
.
-
int
PyFunction_Check
(PyObject *o)¶ Retorna verdadeiro se o é um objeto de função (tem tipo
PyFunction_Type
). O parâmetro não deve serNULL
. Esta função sempre tem sucesso.
-
PyObject *
PyFunction_New
(PyObject *code, PyObject *globals)¶ - Retorna valor: Nova referência.
Retorna um novo objeto função associado ao código objeto code. globals deve ser um dicionário com as variáveis globais acessíveis à função.
A docstring e o nome da função são recuperados do objeto de código. __module__ * é recuperado de *globals. Os padrões de argumento, as anotações e o encerramento são definidos como
NULL
. __qualname__ está definido para o mesmo valor que o nome da função.
-
PyObject *
PyFunction_NewWithQualName
(PyObject *code, PyObject *globals, PyObject *qualname)¶ - Retorna valor: Nova referência.
Como
PyFunction_New()
, mas também permite configurar o atributo__qualname__
do objeto da função. qualname deve ser um objeto unicode ouNULL
; SeNULL
, o atributo__qualname__
é definido como o mesmo valor que o atributo__name__
.Novo na versão 3.3.
-
PyObject *
PyFunction_GetCode
(PyObject *op)¶ - Retorna valor: Referência emprestada.
Retorna o objeto de código associado ao objeto função op.
-
PyObject *
PyFunction_GetGlobals
(PyObject *op)¶ - Retorna valor: Referência emprestada.
Retorna o dicionário global associado ao objeto função op.
-
PyObject *
PyFunction_GetModule
(PyObject *op)¶ - Retorna valor: Referência emprestada.
Retorna uma referência emprestada para o atributo __module__ do objeto função op. Pode ser NULL.
Esta é normalmente uma string contendo o nome do módulo, mas pode ser configurada para qualquer outro objeto pelo código Python.
-
PyObject *
PyFunction_GetDefaults
(PyObject *op)¶ - Retorna valor: Referência emprestada.
Retorna o argumento os valores padrão do objeto função op. Isso pode ser uma tupla de argumentos ou
NULL
.
-
int
PyFunction_SetDefaults
(PyObject *op, PyObject *defaults)¶ Define o argumento valores padrão para o objeto função op. defaults deve ser
Py_None
ou uma tupla.Levanta
SystemError
e retorna-1
em falha.
-
PyObject *
PyFunction_GetClosure
(PyObject *op)¶ - Retorna valor: Referência emprestada.
Retorna o fechamento associado ao objeto função op. Isso pode ser
NULL
ou uma tupla de objetos de célula.
-
int
PyFunction_SetClosure
(PyObject *op, PyObject *closure)¶ Define o fechamento associado ao objeto função op. closure deve ser
Py_None
ou uma tupla de objetos de célula.Levanta
SystemError
e retorna-1
em falha.
-
PyObject *
PyFunction_GetAnnotations
(PyObject *op)¶ - Retorna valor: Referência emprestada.
Retorna as anotações do objeto função op. Este pode ser um dicionário mutável ou
NULL
.
-
int
PyFunction_SetAnnotations
(PyObject *op, PyObject *annotations)¶ Define as anotações para o objeto função op. annotations deve ser um dicionário ou
Py_None
.Levanta
SystemError
e retorna-1
em falha.