tipo() y isinstance() en Python con ejemplos

¿Qué es el tipo() en Python?

Python tiene una función incorporada llamada type() que le ayuda a encontrar el tipo de clase de la variable dada como entrada. Por ejemplo, si la entrada es una cadena, obtendrá la salida como , para la lista, será , etc.

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

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

Sintaxis para tipo()

type() se puede utilizar de dos maneras, como se muestra a continuación:

 type(object)
type(namr, bases, dict)

parámetros: tipo (objeto)

  • objeto: este es un parámetro obligatorio. Si este es solo un parámetro pasado a type(), le devolverá el tipo de parámetro.

parámetros: tipo(nombre, bases, dict)

  • nombre: nombre de la clase.
  • bases: (opcional). Este es un parámetro opcional y es la clase base.
  • dictado: (opcional). Este es un parámetro opcional y es un espacio de nombres que tiene la definición de la clase.

Valor de retorno

Si el objeto es el único parámetro pasado a type() entonces le devolverá el tipo de objeto.

Si los parámetros pasados ​​al tipo son un tipo (objeto, bases, dict), en tal caso, devolverá un nuevo tipo de objeto.

Ejemplo de tipo()

En este ejemplo, tenemos un valor de cadena, un número, un valor de punto flotante, un número complejo, una lista, una tupla, un diccionario y un conjunto. Usaremos las variables con tipo para ver el resultado de cada una de ellas.

str_list = "Welcome to Guru99"
age = 50
pi = 3.14
c_num = 3j+10
my_list = ["A", "B", "C", "D"]
my_tuple = ("A", "B", "C", "D")
my_dict = {"A":"a", "B":"b", "C":"c", "D":"d"}
my_set = {'A', 'B', 'C', 'D'}

print("The type is : ",type(str_list))
print("The type is : ",type(age))
print("The type is : ",type(pi))
print("The type is : ",type(c_num))
print("The type is : ",type(my_list))
print("The type is : ",type(my_tuple))
print("The type is : ",type(my_dict))
print("The type is : ",type(my_set))

Salida:

The type is :<class 'str'>
The type is :<class 'int'>
The type is :<class 'float'>
The type is :<class 'complex'>
The type is :<class 'list'>
The type is :<class 'tuple'>
The type is :<class 'dict'>
The type is :<class 'set'>

Ejemplo: uso de type() para objeto de clase.

Cuando verifica el objeto creado a partir de 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 a partir de la prueba de clase.

class test:
    s = 'testing'

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

Salida:

<class '__main__.test'>

Ejemplo: usar el nombre, las bases y el dict en type()

El tipo también se puede llamar usando la sintaxis: tipo (nombre, bases, dict).

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

En este ejemplo, vamos a utilizar los tres parámetros, es decir, nombre, bases y dict en tipo().

Ejemplo:

class MyClass:
  x = 'Hello World'
  y = 50

t1 = type('NewClass', (MyClass,), dict(x='Hello World', y=50))
print(type(t1))
print(vars(t1))

Salida:

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

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

¿Qué es isinstance() en Python?

Python esta instancia es parte de funciones integradas de Python. Python isinstance() toma dos argumentos y devuelve verdadero si el primer argumento es una instancia de classinfo proporcionada como segundo argumento.

Sintaxis es instancia()

isinstance(object, classtype)

parámetros

  • objeto: un objeto cuya instancia se está comparando con el tipo de clase. Devolverá verdadero si el tipo coincide; de ​​lo contrario, falso.
  • tipo de clase: Un tipo o una clase o una tupla de tipos y/o clases.

Valor de retorno

Devolverá verdadero si el objeto es una instancia de tipo de clase y falso en caso contrario.

Ejemplos de isinstancia()

En esta sección, estudiaremos varios ejemplos para aprender isinstance()

Ejemplo: isinstance() verificación de enteros

El código siguiente compara el valor entero 51 con el tipo int. Devolverá verdadero si el tipo de 51 coincide con int; de lo contrario, devolverá falso.

age = isinstance(51,int)
print("age is an integer:", age)

Salida:

age is an integer: True

Ejemplo: isinstance() comprobación flotante

En este ejemplo vamos a comparar el valor flotante con el tipo flotante, es decir, el valor 3.14 se comparará con el tipo flotante.

pi = isinstance(3.14,float)
print("pi is a float:", pi)

Salida:

pi is a float: True

Ejemplo: isinstance() verificación de cadena

message = isinstance("Hello World",str)
print("message is a string:", message)

Salida:

message is a string: True

Ejemplo: isinstance() verificación de tuplas

El código busca una tupla (1,2,3,4,5) con tipo tupla. Devolverá verdadero si la entrada proporcionada es de tipo tupla y falso en caso contrario.

my_tuple = isinstance((1,2,3,4,5),tuple)
print("my_tuple is a tuple:", my_tuple)

Salida:

my_tuple is a tuple: True

Ejemplo: isinstance() Establecer verificación

El código busca un conjunto ({1,2,3,4,5}, con tipo conjunto. Devolverá verdadero si la entrada proporcionada es de tipo conjunto y falso en caso contrario.

my_set = isinstance({1,2,3,4,5},set)
print("my_set is a set:", my_set)

Salida:

my_set is a set: True

Ejemplo: verificación de lista isinstance()

El código busca una lista [1,2,3,4,5], con lista de tipos. Devolverá verdadero si la entrada proporcionada es del tipo lista y falso en caso contrario.

my_list = isinstance([1,2,3,4,5],list)
print("my_list is a list:", my_list)

Salida:

my_list is a list: True

Ejemplo: verificación de dictado isinstance()

El código busca un dict({“A”:”a”, “B”:”b”, “C”:”c”, “D”:”d”}, con tipo dict. Devolverá verdadero si la entrada proporcionada es de tipo dict y falsa si no.

my_dict = isinstance({"A":"a", "B":"b", "C":"c", "D":"d"},dict)
print("my_dict is a dict:", my_dict)

Salida:

my_dict is a dict: True

Ejemplo: prueba isinstance() en una clase

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

class MyClass:
    _message = "Hello World"

_class = MyClass()

print("_class is a instance of MyClass() : ", isinstance(_class,MyClass))

Salida:

_class is a instance of MyClass() True

Diferencia entre tipo() e isinstance() en Python

tipo() isinstance ()
Python tiene una función incorporada llamada type() que le ayuda a encontrar el tipo de clase de la variable dada como entrada. Python Tiene una función incorporada llamada isinstance() que compara el valor con el tipo dado. Si el valor y el tipo dados coinciden, devolverá verdadero; de lo contrario, falso.
El valor de retorno es un tipo de objeto. El valor de retorno es booleano, es decir, verdadero o falso.
class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(type(A()) == A)
print(type(B()) == A)

Salida:

True
False

En el caso del tipo, la verificación de la subclase devuelve falso.

class A:
my_listA = [1,2,3]

class B(A):
my_listB = [1,2,3]

print(isinstance(A(), A))
print(isinstance(B(), A))

Salida:

True
True

isinstance() da un valor veraz cuando se verifica con una subclase.

Resumen

  • Python tiene una función incorporada llamada type() que le ayuda a encontrar el tipo de clase de la variable dada como entrada. Por ejemplo, si la entrada es una cadena, obtendrá la salida como , para la lista, será , etc.
  • Para tipo(), puede pasar un único argumento y el valor de retorno será el tipo de clase del argumento dado, por ejemplo, tipo(objeto).
  • También es posible pasar tres argumentos a type(), es decir, type(name, bases, dict), en tal caso, le devolverá un nuevo tipo de objeto.
  • Python tiene una función incorporada llamada instance() que compara el valor con el tipo dado. Si el valor y el tipo dados coinciden, devolverá verdadero; de lo contrario, falso. Con isinstance(), puede probar cadenas, puntos flotantes, enteros, listas, tuplas, diccionarios, conjuntos, clases, etc.
  • Usando el método isinstance(), puede probar cadenas, flotantes, int, listas, tuplas, dict, conjuntos, clases, etc.

Boletín diario de Guru99

Empieza el día con las últimas y más importantes noticias sobre IA, entregadas ahora mismo.