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á exposta a programadores Python comotypes.FunctionType
.
-
int PyFunction_Check(PyObject *o)¶
Retorna verdadeiro se o for um objeto função (tem tipo
PyFunction_Type
). O parâmetro não deve serNULL
. Esta função sempre obtém sucesso.
-
PyObject *PyFunction_New(PyObject *code, PyObject *globals)¶
- Retorna valor: Nova referência.
Retorna um novo objeto função associado ao objeto código code. globals deve ser um dicionário com as variáveis globais acessíveis à função.
O nome e docstring da função são adquiridos pelo objeto código. O atributo
__module__
é adquirido por meio de globals. Os valores-padrão de argumentos, anotações, e fechamento são definidos comoNULL
. O atributo__qualname__
é definido com o mesmo valor do campoco_qualname
de um objeto código.
-
PyObject *PyFunction_NewWithQualName(PyObject *code, PyObject *globals, PyObject *qualname)¶
- Retorna valor: Nova referência.
Similar a
PyFunction_New()
, mas também permite definir o atributo__qualname__
do objeto função. qualname deve ser um objeto Unicode ouNULL
. SeNULL
, o atributo__qualname__
é definido com o mesmo valor do campoco_qualname
do objeto código.Novo na versão 3.3.
-
PyObject *PyFunction_GetCode(PyObject *op)¶
- Retorna valor: Referência emprestada.
Retorna o objeto 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 ao atributo
__module__
do objeto função op. Pode ser NULL.Normalmente, trata-se de um
string
contendo o nome do módulo, mas pode ser definido como qualquer outro objeto pelo código Python.
-
PyObject *PyFunction_GetDefaults(PyObject *op)¶
- Retorna valor: Referência emprestada.
Retorna os valores-padrão de argumentos do objeto função op. Pode ser uma tupla de argumentos ou
NULL
.
-
int PyFunction_SetDefaults(PyObject *op, PyObject *defaults)¶
Define os valores-padrão dos argumentos do objeto função op. defaults deve ser
Py_None
ou uma tupla.Levanta
SystemError
e retorna-1
em caso de falha.
-
PyObject *PyFunction_GetClosure(PyObject *op)¶
- Retorna valor: Referência emprestada.
Retorna o fechamento associado ao objeto função op. Pode ser
NULL
ou uma tupla de objetos 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 caso de 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 caso de falha.