logo

Funció Python isinstance().

La funció isinstance() de Python s'utilitza per comprovar si l'objecte donat és una instància d'aquesta classe. Si l'objecte pertany a la classe, retorna True. En cas contrari, retorna False. També retorna true si la classe és una subclasse.

La funció isinstance() pren dos arguments object i classinfo i retorna True o False. A continuació es mostra la signatura de la funció.

Sintaxi:

 isinstance(object, classinfo) 

Paràmetres

objecte: És un objecte de tipus string, int, float, long o personalitzat.

informació de la classe: Nom de la classe.

Tornar

Retorna un valor booleà True o False.

Vegem alguns exemples de la funció isinstance() per entendre la seva funcionalitat.

Exemples de Python Isinstance():

Utilitzem la funció isinstance() per comprovar si diverses variables són instàncies dels seus tipus o classes de dades separades.

1. Nombre sencer

Codi

crear fil java
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Sortida:

 True 

2. Flotar

Codi

sumador sumador complet
 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

Sortida:

 True 

3. Corda

Codi

 # Check if a string is a string name = 'Johnny' print(isinstance(name, str)) 

Sortida:

 True 

4. Llista

Codi

 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

Sortida:

 True 

5. Diccionari

Codi

 # Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict)) 

Sortida:

 True 

6. Tuple

Codi

 # Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple)) 

Sortida:

 True 

7. Conjunt

Codi

 # Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set)) 

Sortida:

fitxer csv llegir java
 True 

8. Classe

Codi

 # Check if a custom class instance is an instance of that class class Bike: pass my_bike = Bike() print(isinstance(my_bike, Bike)) 

Sortida:

 True 

Vegem alguns exemples més de la funció isinstance() per entendre la seva funcionalitat.

Funció Python isinstance() Exemple 1

Aquí, estem passant objecte i classe a la funció que només retorna True si l'objecte pertany a la classe. Vegeu l'exemple següent.

Codi

 # 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)) 

Sortida:

 True False 

Funció Python isinstance() Exemple 2

isinstance() es pot utilitzar per comprovar si un objecte és una instància d'una classe que duu a terme una interfície específica. Podem caracteritzar una interfície com una classe que determina un munt de tècniques que executen diferents classes.

Codi

 # 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)) 

Sortida:

 'Woof!' 'Meow!' 

Funció Python isinstance() Exemple 3

Aquesta funció també retorna True si l'objecte és de subclasse i la classe és una classe pare. Mireu com funciona a l'exemple següent.

xarxes i tipus

Codi

 # 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 

Sortida:

 True True 

Conclusió:

En conclusió, la funció isinstance() és una funció Python integrada útil que ens permet comprovar si un objecte és una instància d'una classe o subclasse predefinida. Això pot ser especialment valuós quan es treballa amb codi que inclou diversos tipus de dades o mentre s'escriu biblioteques o API que necessiten fer front a molts tipus d'entrada. Mitjançant l'ús de isinstance(), es pot garantir que el nostre codi actua amb precisió per a diferents tipus d'entrada i és més vigorós en general.