Tipo Python ()

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'

Artigos interessantes...