type() Tipo/criação dinâmica de classe
Última atualização: 2026-09-22
type() Tipo/criação dinâmica de classe
type(obj) retorna o tipo do objeto; type(name, bases, dict) cria dinamicamente uma nova classe.
| Categoria | Funções internas |
|---|---|
| Tipo | Função interna |
| Versão do Python | all |
📝 Sintaxe
type(object)
type(name, bases, dict)
⚙️ Parâmetros
| object Obrigatório | One-arg form: the object whose type is queried. |
|---|---|
| name Obrigatório | Three-arg form: the class name (string); mutually exclusive with the one-arg form. |
| bases Obrigatório | Three-arg form: a tuple of base classes. |
| dict Obrigatório | Three-arg form: the class namespace dict (attributes/methods). |
Retorno:One-arg form: the object's type. Three-arg form: a newly created class.
💥 Exceções
TypeError— Raised when name is not a string in the three-arg form.
▶ Exemplo
Edite o código, clique em Executar e veja o resultado no painel de saída:
Saída:
int
10
🏷️ Funções internas relacionadas
💡 Casos relacionados
Mais estudos de caso em breve — aguarde.
❓ Perguntas frequentes
QO que type(42) retorna?
ARetorna — a forma de um argumento retorna o tipo do objeto.
QQual é a diferença entre type(x) == int e isinstance(x, int)?
Aisinstance reconhece subclasses: bool é uma subclasse de int, então isinstance(True, int) é True enquanto type(True) == int é False; no geral isinstance é mais seguro.
QPara que serve a forma de três argumentos type(name, bases, dict)?
ACria dinamicamente uma nova classe: type('MyClass', (object,), {'x': 10}) equivale a class MyClass(object): x = 10 — a base da programação com metaclasses.
QComo obter o nome do tipo de um objeto?
AUse type(obj).__name__, ex.: type(42).__name__ retorna 'int'; print(type(x)) mostra a forma .