logo

Python isinstance()-functie

De Python isinstance()-functie wordt gebruikt om te controleren of het gegeven object een instantie van die klasse is. Als het object tot de klasse behoort, retourneert het True. Anders wordt False geretourneerd. Het retourneert ook true als de klasse een subklasse is.

De functie isinstance() neemt twee argumenten object en classinfo en retourneert True of False. De signatuur van de functie vindt u hieronder.

Syntaxis:

 isinstance(object, classinfo) 

Parameters

voorwerp: Het is een object van het type string, int, float, long of custom.

klasseinfo: Naam van de klasse.

Opbrengst

Het retourneert een Booleaanse waarde, True of False.

Laten we enkele voorbeelden bekijken van de isinstance()-functie om de functionaliteit ervan te begrijpen.

Python Isinstance() Voorbeelden:

We gebruiken de functie isinstance() om te controleren of verschillende variabelen instanties zijn van hun afzonderlijke gegevenstypen of klassen.

1. Geheel getal

Code

strep
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Uitgang:

 True 

2. Zweven

Code

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

Uitgang:

 True 

3. Snaar

Code

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

Uitgang:

 True 

4. Lijst

Code

voorbeeld van Java-substring
 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

Uitgang:

 True 

5. Woordenboek

Code

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

Uitgang:

tekenreeksarray
 True 

6. Tupel

Code

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

Uitgang:

 True 

7. Instellen

Code

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

Uitgang:

 True 

8. Klasse

Code

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

Uitgang:

 True 

Laten we nog enkele voorbeelden bekijken van de isinstance()-functie om de functionaliteit ervan te begrijpen.

Python isinstance() Functievoorbeeld 1

Hier geven we object en klasse door aan de functie die alleen True retourneert als het object tot de klasse behoort. Zie het onderstaande voorbeeld.

vervang alles in string Java

Code

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

Uitgang:

 True False 

Python isinstance() Functievoorbeeld 2

isinstance() kan worden gebruikt om te controleren of een object een instantie is van een klasse die een specifieke interface uitvoert. We kunnen een interface karakteriseren als een klasse die een aantal technieken bepaalt die verschillende klassen uitvoeren.

Code

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

Uitgang:

 'Woof!' 'Meow!' 

Python isinstance() Functievoorbeeld 3

Deze functie retourneert ook True als het object van een subklasse is en de klasse een bovenliggende klasse is. Bekijk hoe het werkt in het onderstaande voorbeeld.

Code

 # 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 

Uitgang:

 True True 

Conclusie:

Concluderend is de functie isinstance() een nuttige ingebouwde Python-functie waarmee we kunnen controleren of een object een instantie is van een vooraf gedefinieerde klasse of subklasse. Dit kan vooral waardevol zijn bij het werken met code die verschillende gegevenstypen bevat, of bij het schrijven van bibliotheken of API's die met een groot aantal invoertypen moeten omgaan. Door isinstance() te gebruiken, kan men garanderen dat onze code nauwkeurig werkt voor verschillende invoertypen en in het algemeen krachtiger is.