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'