A função type () retorna o tipo do objeto ou retorna um novo objeto de tipo com base nos argumentos passados.
A type()função tem duas formas diferentes:
tipo (objeto) tipo (nome, bases, dicionário)
type () com um parâmetro de objeto único
Se um único objeto é passado para type(), a função retorna seu tipo.
Exemplo 1: obter o tipo de um objeto
numbers_list = (1, 2) print(type(numbers_list)) numbers_dict = (1: 'one', 2: 'two') print(type(numbers_dict)) class Foo: a = 0 foo = Foo() print(type(foo))
Resultado
Se você precisar verificar o tipo de um objeto, é melhor usar a função isinstance () do Python. É porque a isinstance()função também verifica se o objeto fornecido é uma instância da subclasse.
type () Com nome, bases e parâmetros de dict
Se três parâmetros são passados para type(), ele retorna um novo objeto de tipo .
Os três parâmetros são:
| Parâmetro | Descrição |
|---|---|
| nome | um nome de classe; torna-se o __name__atributo |
| bases | uma tupla que relaciona a classe base; torna-se o __bases__atributo |
| dict | um dicionário que é o namespace que contém definições para o corpo da classe; torna-se o __dict__atributo |
Exemplo 2: Criar um objeto de tipo
o1 = type('X', (object,), dict(a='Foo', b=12)) print(type(o1)) print(vars(o1)) class test: a = 'Foo' b = 12 o2 = type('Y', (test,), dict(a='Foo', b=12)) print(type(o2)) print(vars(o2))
Resultado
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Nenhum) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Nenhum)
No programa, usamos a função Python vars () que retorna o __dict__atributo. __dict__é usado para armazenar atributos graváveis do objeto.
Você pode alterar facilmente esses atributos, se necessário. Por exemplo, se você precisar alterar o __name__atributo de o1 para 'Z', use:
o1 .__ nome = 'Z'








