La función type () devuelve el tipo del objeto o devuelve un nuevo tipo de objeto basado en los argumentos pasados.
La type()
función tiene dos formas diferentes:
tipo (objeto) tipo (nombre, bases, dic)
type () con un parámetro de objeto único
Si se le pasa un solo objeto type()
, la función devuelve su tipo.
Ejemplo 1: obtener el tipo de un 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))
Salida
Si necesita verificar el tipo de un objeto, es mejor usar la función isinstance () de Python en su lugar. Es porque la isinstance()
función también verifica si el objeto dado es una instancia de la subclase.
type () Con nombre, bases y parámetros dict
Si se le pasan tres parámetros type()
, devuelve un nuevo tipo de objeto.
Los tres parámetros son:
Parámetro | Descripción |
---|---|
nombre | un nombre de clase; se convierte en el __name__ atributo |
bases | una tupla que detalla la clase base; se convierte en el __bases__ atributo |
dictar | un diccionario que es el espacio de nombres que contiene definiciones para el cuerpo de la clase; se convierte en el __dict__ atributo |
Ejemplo 2: crear un 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))
Salida
('a': 'Foo', 'b': 12, '__module__': '__main__', '__dict__':, '__weakref__':, '__doc__': Ninguno) ('a': 'Foo', 'b ': 12,' __module__ ':' __main__ ',' __doc__ ': Ninguno)
En el programa, hemos utilizado la función Python vars () que devuelve el __dict__
atributo. __dict__
se utiliza para almacenar los atributos de escritura del objeto.
Puede cambiar fácilmente estos atributos si es necesario. Por ejemplo, si necesita cambiar el __name__
atributo de o1 a 'Z'
, use:
o1 .__ nombre = 'Z'