English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função type() retorna o tipo do objeto passado como parâmetro ou retorna um novo objeto de tipo.
A função type() tem duas formas diferentes:
type(object) type(name, bases, dict)
Se passar um objeto para o type(), a função retornará seu tipo.
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))
Resultados de saída
<class 'dict'> <class 'Foo'> <class '__main__.Foo'>
Se precisar verificar o tipo do objeto, é melhor usarFunção isinstance() do Python. Isso é porque a função isinstance() também verifica se o objeto fornecido é uma instância de subclasse.
Se passar três parâmetros para type(), ele retornará um novotypeobjeto.
esses três parâmetros são:
parâmetros | descrição |
---|---|
name | nome da classe; torna-se a propriedade __name__ |
bases | lista de classes base; torna-se a propriedade __bases__ |
dict | dicionário, que é o espaço de nomes que contém a definição do corpo da classe; torna-se a propriedade __dict__ |
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))
Resultados de saída
<class 'type'> {'b': 12, 'a': 'Foo', '__dict__': <atributo '__dict__' dos objetos 'X', '__doc__': None, '__weakref__': <atributo '__weakref__' dos objetos 'X'>} <class 'type'> {'b': 12, 'a': 'Foo', '__doc__': None}
No programa, usamosFunção vars() do Pythonpara retornar a propriedade __dict__. __dict__ é usado para armazenar as propriedades writáveis do objeto.
Você pode alterar essas propriedades conforme necessário. Por exemplo, se você precisar alterar o valor da propriedade __name__1Altere para 'Z', use:
o1__name = 'Z'