Tipo de Python ()

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'

Articulos interesantes...