Esta documentação é de uma versão antiga do Python que não é mais atualizada. Você deveria atualizar e ler a documentação do Python para versão estável atual.

# 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.

  Manipulador genérico para o slot `tp_alloc` de um objeto tipo. Use o mecanismo de alocação de memória padrão do Python para alocar uma nova instância e inicializar todo o seu conteúdo para `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)
  Return value: New reference.

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

PyObject* `PyType_FromSpecWithBases`(PyType_Spec *spec, PyObject *bases)
  Return value: New reference.

  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)

  Retorna o ponteiro de função armazenado no slot fornecido. Se o resultado for `NULL`, isso indica que o slot é `NULL` ou que a função foi chamada com parâmetros inválidos. Os chamadores normalmente lançarão o ponteiro do resultado no tipo de função apropriado.

  Novo na versão 3.4.