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
PyTypeObjecte 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_qualnamede 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_qualnamedo 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
stringcontendo 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_Noneou uma tupla.Levanta
SystemErrore retorna-1em caso de falha.
-
PyObject *PyFunction_GetClosure(PyObject *op)¶
- Retorna valor: Referência emprestada.
Retorna o fechamento associado ao objeto função op. Pode ser
NULLou 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_Noneou uma tupla de objetos de célula.Levanta
SystemErrore retorna-1em 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
SystemErrore retorna-1em caso de falha.