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.