La función Python isinstance() se utiliza para comprobar si el objeto dado es una instancia de esa clase. Si el objeto pertenece a la clase, devuelve Verdadero. De lo contrario, devuelve Falso. También devuelve verdadero si la clase es una subclase.
La función isinstance() toma dos argumentos, objeto e información de clase, y devuelve Verdadero o Falso. La firma de la función se proporciona a continuación.
Sintaxis:
isinstance(object, classinfo)
Parámetros
objeto: Es un objeto de tipo string, int, float, long o personalizado.
información de clase: Nombre de la clase.
Devolver
Devuelve booleano Verdadero o Falso.
Veamos algunos ejemplos de la función isinstance() para comprender su funcionalidad.
Ejemplos de instancia de Python():
Utilizamos la función isinstance() para comprobar si varias variables son instancias de sus tipos o clases de datos separados.
1. Entero
Código
cómo desactivar el modo desarrollador en android
# Check if an integer is an int n = 100 print(isinstance(n, int))
Producción:
True
2. flotar
Código
# Check if a float is a float pi = 3.14159 print(isinstance(pi, float))
Producción:
True
3. cuerda
Código
# Check if a string is a string name = 'Johnny' print(isinstance(name, str))
Producción:
True
4. Lista
Código
# Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list))
Producción:
True
5. Diccionario
Código
punteros en c
# Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict))
Producción:
True
6. tupla
Código
# Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple))
Producción:
rakhi sawant
True
7. Establecer
Código
# Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set))
Producción:
True
8. clase
Código
# Check if a custom class instance is an instance of that class class Bike: pass my_bike = Bike() print(isinstance(my_bike, Bike))
Producción:
True
Veamos algunos ejemplos más de la función isinstance() para comprender su funcionalidad.
Ejemplo 1 de la función isinstance() de Python
Aquí, pasamos el objeto y la clase a la función que devuelve Verdadero solo si el objeto pertenece a la clase. Vea el siguiente ejemplo.
Código
fila y columna
# Python isinstance() function example class Student: id = 101 name = 'John' def __init__(self, id, name): self.id=id self.name=name student = Student(1010,'John') lst = [ 12,34,5,6,767 ] # Calling function print(isinstance(student, Student)) # isinstance of Student class print(isinstance(lst, Student))
Producción:
True False
Ejemplo 2 de la función isinstance() de Python
isinstance() se puede utilizar para verificar si un objeto es una instancia de una clase que realiza una interfaz específica. Podemos caracterizar una interfaz como una clase que determina un conjunto de técnicas que ejecutan diferentes clases.
Código
# Python isinstance() function example class Animal: def speak(self): raise NotImplementedError class Dog(Animal): def speak(self): return 'Woof!' class Cat(Animal): def speak(self): return 'Meow!' def make_animal_speak(animal): if isinstance(animal, Animal): return animal.speak() else: raise ValueError('Object is not an Animal') my_dog = Dog() my_cat = Cat() print(make_animal_speak(my_dog)) print(make_animal_speak(my_cat))
Producción:
'Woof!' 'Meow!'
Ejemplo 3 de la función isinstance() de Python
Esta función también devuelve True si el objeto es de una subclase y la clase es una clase principal. Vea cómo funciona en el siguiente ejemplo.
Código
# Python isinstance() function example # Declaring variables class NumericList(list): def __init__(self): return None num = NumericList() # Calling function print(isinstance(num, NumericList)) # True print(isinstance(num, list)) # True
Producción:
True True
Conclusión:
En conclusión, la función isinstance() es una útil función incorporada de Python que nos permite comprobar si un objeto es una instancia de una clase o subclase predefinida. Esto puede resultar especialmente valioso cuando se trabaja con código que incluye varios tipos de datos o cuando se escriben bibliotecas o API que necesitan manejar una gran cantidad de tipos de entrada. Al utilizar isinstance(), podemos garantizar que nuestro código actúe con precisión para diferentes tipos de entrada y que sea más vigoroso en términos generales.