Objetos de tipo

PyTypeObject

A estrutura C dos objetos usados para descrever tipos embutidos.

PyObject* PyType_Type

Este é o objeto de tipo para objetos tipo; é o mesmo objeto que type na camada Python.

int PyType_Check(PyObject *o)

Return true if the object o is a type object, including instances of types derived from the standard type object. Return false in all other cases.

int PyType_CheckExact(PyObject *o)

Return true if the object o is a type object, but not a subtype of the standard type object. Return false in all other cases.

unsigned int PyType_ClearCache()

Limpa o cache de pesquisa interno. Retorna a marcação de versão atual.

unsigned long PyType_GetFlags(PyTypeObject* type)

Retorna o membro tp_flags de type. Esta função deve ser usada principalmente com Py_LIMITED_API; os bits sinalizadores individuais têm garantia de estabilidade em todas as versões do Python, mas o acesso a tp_flags não faz parte da API limitada.

Novo na versão 3.2.

Alterado na versão 3.4: O tipo de retorno é agora um unsigned long em vez de um long.

void PyType_Modified(PyTypeObject *type)

Invalida o cache de pesquisa interna para o tipo e todos os seus subtipos. Esta função deve ser chamada após qualquer modificação manual dos atributos ou classes bases do tipo.

int PyType_HasFeature(PyTypeObject *o, int feature)

Return true if the type object o sets the feature feature. Type features are denoted by single bit flags.

int PyType_IS_GC(PyTypeObject *o)

Retorna verdadeiro se o objeto tipo incluir suporte para o detector de ciclo; isso testa o sinalizador de tipo Py_TPFLAGS_HAVE_GC.

int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)

Retorna verdadeiro se a for um subtipo de b.

Esta função só verifica pelos subtipos, o que significa que __subclasscheck__() não é chamado em b. Chame PyObject_IsSubclass() para fazer a mesma verificação que issubclass() faria.

PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
Return value: New reference.

Generic handler for the tp_alloc slot of a type object. Use Python’s default memory allocation mechanism to allocate a new instance and initialize all its contents to NULL.

PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)
Return value: New reference.

Manipulador genérico para o slot tp_new de um objeto tipo. Cria uma nova instância usando o slot tp_alloc do tipo.

int PyType_Ready(PyTypeObject *type)

Finaliza um objeto tipo. Isso deve ser chamado em todos os objetos tipo para finalizar sua inicialização. Esta função é responsável por adicionar slots herdados da classe base de um tipo. Retorna 0 em caso de sucesso, ou retorna -1 e define uma exceção em caso de erro.

PyObject* PyType_FromSpec(PyType_Spec *spec)

Creates and returns a heap type object from the spec passed to the function.

PyObject* PyType_FromSpecWithBases(PyType_Spec *spec, PyObject *bases)

Creates and returns a heap type object from the spec. In addition to that, the created heap type contains all types contained by the bases tuple as base types. This allows the caller to reference other heap types as base types.

Novo na versão 3.3.

void* PyType_GetSlot(PyTypeObject *type, int slot)

Return the function pointer stored in the given slot. If the result is NULL, this indicates that either the slot is NULL, or that the function was called with invalid parameters. Callers will typically cast the result pointer into the appropriate function type.

Novo na versão 3.4.