Type () e isinstance () en Python con ejemplos

Tabla de contenido:

Anonim

¿Qué es type () 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.

En este tutorial, aprenderá:

  • ¿Qué es type () en Python?
  • Sintaxis para type ():
  • Ejemplo de tipo ()
  • Ejemplo: uso de type () para el objeto de clase.
  • Ejemplo: usar el nombre, las bases y dict en type ()
  • ¿Qué es isinstance () en Python?
  • Sintaxis isinstance ():
  • Ejemplos de isinstance ()
  • Diferencia entre type () e isinstance () en Python

Sintaxis para type ():

type () se puede utilizar de dos formas, 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 (), entonces le devolverá el tipo de parámetro.

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

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

Valor devuelto:

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

Si el parámetro pasado a type es 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 flotante, un número complejo, una lista, una tupla, un dictado y un conjunto. Usaremos las variables con tipo para ver el resultado de cada una de ellas.

str_list = "Welcome to Guru99"age = 50pi = 3.14c_num = 3j+10my_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))

Producción:

The type is :The type is :The type is :The type is :The type is :The type is :The type is :The type is :

Ejemplo: uso de type () para el 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 comprobaremos el tipo de objeto creado a partir de la prueba de clase.

class test:s = 'testing't = test()print(type(t))

Producción:

Ejemplo: usar el nombre, las bases y 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, name, bases y dict son los componentes que componen una definición de clase. El nombre representa el nombre de la clase, las bases es la clase base y dict es el diccionario de los atributos de la clase base.

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

Ejemplo:

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

Producción:

{'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 isinstance es parte de las funciones integradas de Python. Python isinstance () toma dos argumentos y devuelve verdadero si el primer argumento es una instancia de la información de clase dada como segundo argumento.

Sintaxis isinstance ()

isinstance(object, classtype)

Parámetros

  • objeto: un objeto cuya instancia está comparando con classtype. 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 devuelto:

Devolverá verdadero si el objeto es una instancia de classtype y falso si no.

Ejemplos de isinstance ()

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

Ejemplo: isinstance () Verificación de enteros

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

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

Producción:

age is an integer: True

Ejemplo: isinstance () Float check

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)

Producción:

pi is a float: True

Ejemplo: verificación de cadena de isinstance ()

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

Producción:

message is a string: True

Ejemplo: isinstance () Tuple check

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

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

Producción:

my_tuple is a tuple: True

Ejemplo: isinstance () Establecer verificación

El código busca un conjunto ({1,2,3,4,5}, con el tipo establecido. Devolverá verdadero si la entrada dada es de tipo conjunto y falso si no.

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

Producción:

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 dada es de tipo lista y falso si no.

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

Producción:

my_list is a list: True

Ejemplo: isinstance () dict check

El código busca un dict ({"A": "a", "B": "b", "C": "c", "D": "d"}, con el tipo dict. Devolverá verdadero si la entrada dada es de tipo dict y falsa en caso contrario.

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

Producción:

my_dict is a dict: True

Ejemplo: prueba isinstance () en una clase

El código muestra la verificación de tipo de 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))

Producción:

_class is a instance of MyClass() True

Diferencia entre type () e isinstance () en Python

escribe() 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 en caso contrario, falso.
El valor de retorno es un objeto de tipo El valor de retorno es un 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)
Producción:
TrueFalse
En el caso del tipo, la verificación de 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))
Producción:
TrueTrue
isinstance () da un valor verdadero 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 type (), puede pasar un solo 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 instancia () 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, flotadores, int, listas, tuplas, dic, conjuntos, clases, etc.
  • Usando el método isinstance (), puede probar string, float, int, list, tuple, dict, set, class, etc.