Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Entendiendo type() e isinstance() en Python: ejemplos prácticos

Entendiendo type() e isinstance() en Python: ejemplos prácticos

¿Qué es type() en Python?

Python tiene una función integrada llamada type() que te ayuda a encontrar el tipo de clase de la variable dada como entrada. Por ejemplo, si la entrada es una cadena, obtendrás <class 'str'>, para una lista, <class 'list'>, etc.

Usando type(), puedes pasar un solo argumento, y el valor de retorno será el tipo de clase del argumento dado, ejemplo: type(objeto).

También es posible pasar tres argumentos a type(), es decir, type(nombre, bases, dict), en cuyo caso devolverá un nuevo objeto tipo.

En este tutorial aprenderás:

Sintaxis de type():

type() puede usarse de dos formas como se muestra a continuación:

type(objeto)
type(nombre, bases, dict)

Parámetros: type(objeto)

Parámetros: type(nombre, bases, dict)

Valor de retorno:

Si solo se pasa el objeto a type(), devolverá el tipo del objeto.

Si los parámetros pasados son type(nombre, bases, dict), devolverá un nuevo objeto tipo.

Ejemplo de type()

En este ejemplo tenemos un valor de cadena, número, valor flotante, número complejo, lista, tupla, diccionario y conjunto. Usaremos las variables con type para ver la salida de cada una.

str_lista = "Bienvenido a Guru99"
edad = 50
pi = 3.14
c_num = 3j + 10
mi_lista = ["A", "B", "C", "D"]
mi_tupla = ("A", "B", "C", "D")
mi_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
mi_set = {'A', 'B', 'C', 'D'}

print("El tipo es:", type(str_lista))
print("El tipo es:", type(edad))
print("El tipo es:", type(pi))
print("El tipo es:", type(c_num))
print("El tipo es:", type(mi_lista))
print("El tipo es:", type(mi_tupla))
print("El tipo es:", type(mi_dict))
print("El tipo es:", type(mi_set))

Salida:

El tipo es: <class 'str'>
El tipo es: <class 'int'>
El tipo es: <class 'float'>
El tipo es: <class 'complex'>
El tipo es: <class 'list'>
El tipo es: <class 'tuple'>
El tipo es: <class 'dict'>
El tipo es: <class 'set'>

Ejemplo: Usando type() para objeto de clase

Cuando verificas el objeto creado desde una clase usando type(), devuelve el tipo de clase junto con el nombre de la clase. En este ejemplo, crearemos una clase y verificaremos el tipo de objeto creado desde la clase test.

class test:
    s = 'testing'

t = test()
print(type(t))

Salida:

<class '__main__.test'>

Ejemplo: Usando nombre, bases y dict en type()

El type también puede llamarse usando la sintaxis: type(nombre, bases, dict).

Los tres parámetros pasados a type() —nombre, bases y dict— son los componentes que componen una definición de clase. El nombre representa el nombre de la clase, bases es la clase base, y dict es el diccionario de atributos de la clase base.

En este ejemplo, vamos a hacer uso de los tres parámetros: nombre, bases y dict en type().

class MiClase:
    x = 'Hola Mundo'
    y = 50

t1 = type('NuevaClase', (MiClase,), dict(x='Hola Mundo', y=50))
print(type(t1))
print(vars(t1))

Salida:

<class 'type'>
{'x': 'Hola Mundo', 'y': 50, '__module__': '__main__', '__doc__': None}

Cuando pasas los tres argumentos a type(), ayuda a inicializar una nueva clase con atributos de la clase base.

¿Qué es isinstance() en Python?

isinstance() de Python es parte de las funciones integradas de Python. isinstance() toma dos argumentos y devuelve True si el primer argumento es una instancia de la clase/tipo dado como segundo argumento.

Sintaxis isinstance()

isinstance(objeto, tipo_clase)

Parámetros

Valor de retorno:

Devolverá True si el objeto es una instancia de tipo_clase y False si no lo es.

Ejemplos de isinstance()

Ejemplo: Comprobación de entero con isinstance()

El código siguiente compara el valor entero 51 con tipo int. Devolverá true si el tipo de 51 coincide con int, false en caso contrario.

edad = isinstance(51, int)
print("edad es un entero:", edad)

Salida:

edad es un entero: True

Ejemplo: Comprobación de flotante con isinstance()

En este ejemplo compararemos el valor flotante con tipo float, es decir, valor 3.14 comparado con tipo float.

pi = isinstance(3.14, float)
print("pi es un flotante:", pi)

Salida:

pi es un flotante: True

Ejemplo: Comprobación de cadena con isinstance()

mensaje = isinstance("Hola Mundo", str)
print("mensaje es una cadena:", mensaje)

Salida:

mensaje es una cadena: True

Ejemplo: Comprobación de tupla con isinstance()

El código verifica una tupla (1,2,3,4,5) con tipo tuple. Devolverá true si la entrada es de tipo tuple, false si no.

mi_tupla = isinstance((1,2,3,4,5), tuple)
print("mi_tupla es una tupla:", mi_tupla)

Salida:

mi_tupla es una tupla: True

Ejemplo: Comprobación de conjunto con isinstance()

mi_set = isinstance({1,2,3,4,5}, set)
print("mi_set es un conjunto:", mi_set)

Salida:

mi_set es un conjunto: True

Ejemplo: Comprobación de lista con isinstance()

mi_lista = isinstance([1,2,3,4,5], list)
print("mi_lista es una lista:", mi_lista)

Salida:

mi_lista es una lista: True

Ejemplo: Comprobación de diccionario con isinstance()

mi_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"}, dict)
print("mi_dict es un diccionario:", mi_dict)

Salida:

mi_dict es un diccionario: True

Ejemplo: Prueba isinstance() en una clase

El código muestra la comprobación de tipo de clase con isinstance(). El objeto de la clase se compara con el nombre de la clase dentro de isinstance(). Devuelve true si el objeto pertenece a la clase y false en caso contrario.

class MiClase:
    _mensaje = "Hola Mundo"

_clase = MiClase()
print("_clase es instancia de MiClase():", isinstance(_clase, MiClase))

Salida:

_clase es instancia de MiClase(): True

Diferencia entre type() e isinstance() en Python

type()isinstance()
Función integrada que ayuda a encontrar el tipo de clase de la variable dada como entrada. Función integrada que compara el valor con el tipo dado. Si coinciden devuelve true, false en caso contrario.
El valor de retorno es un objeto tipo. El valor de retorno es un booleano (true o false).
class A:
    mi_listaA = [1,2,3]
class B(A):
    mi_listaB = [1,2,3]
print(type(A()) == A)
print(type(B()) == A)

Salida:

True
False

En caso de type, la comprobación de subclase devuelve false.

class A:
    mi_listaA = [1,2,3]
class B(A):
    mi_listaB = [1,2,3]
print(isinstance(A(), A))
print(isinstance(B(), A))

Salida:

True
True

isinstance() devuelve valor verdadero al comprobar con una subclase.

Resumen

python

  1. Construya un robot con Raspberry Pi y Python: Guía completa
  2. Expresiones, sentencias y bloques en C#: Guía completa con ejemplos prácticos
  3. Dominando conversión y casting de tipos en Python: Guía completa
  4. Dominando Números, Conversión de Tipos y Matemáticas en Python
  5. Domine str.count() en Python: Cómo Contar Caracteres y Subcadenas con Ejemplos
  6. Domine el Formateo de Strings en Python con format(): Ejemplos Claros
  7. Domine el Método String.find() en Python: Sintaxis, Ejemplos y Alternativas
  8. Dominando las funciones lambda en Python: ejemplos prácticos y mejores prácticas
  9. Función round() en Python explicada con ejemplos prácticos
  10. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  11. Python timeit(): medición de tiempo de ejecución con ejemplos prácticos