Python Función type()

Python 内置函数Funciones integradas de Python


Descripción

La función type() devuelve el tipo del objeto si solo se le pasa el primer parámetro, y con tres parámetros devuelve un nuevo tipo de objeto.

Diferencia entre isinstance() y type():

  • type() no considera que una subclase sea un tipo de la clase padre, no tiene en cuenta la relación de herencia.

  • isinstance() sí considera que una subclase es un tipo de la clase padre, tiene en cuenta la relación de herencia.

Si desea determinar si dos tipos son iguales, se recomienda usar isinstance().

Sintaxis

La siguiente es la sintaxis del método type():

type(object)
type(name, bases, dict)

Parámetros

  • name -- nombre de la clase.
  • bases -- tupla de clases base.
  • dict -- diccionario, variables del espacio de nombres definidas dentro de la clase.

Valor de retorno

Con un parámetro devuelve el tipo del objeto; con tres parámetros devuelve un nuevo tipo de objeto.


Ejemplo

A continuación se muestra un ejemplo del uso de la función type():

# Ejemplo con un parámetro >>> type(1) <type 'int'> >>> type('ejemplo') <type 'str'> >>> type([2]) <type 'list'> >>> type({0:'zero'}) <type 'dict'> >>> x = 1 >>> type( x ) == int # Determinar si los tipos son iguales True # Tres parámetros >>> class X(object): ... a = 1 ... >>> X = type('X', (object,), dict(a=1)) # Crear un nuevo tipo X >>> X <class '__main__.X'>

Diferencia entre type() y isinstance():

class A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False

Python 内置函数Funciones integradas de Python

Otras extensiones