logo

Python isinstance() Funktion

Python isinstance()-funktionen används för att kontrollera om det givna objektet är en instans av den klassen. Om objektet tillhör klassen returnerar det True. Annars returnerar False. Den returnerar också sant om klassen är en underklass.

Funktionen isinstance() tar två argument objekt och classinfo och returnerar antingen True eller False. Funktionens signatur anges nedan.

Syntax:

 isinstance(object, classinfo) 

Parametrar

objekt: Det är ett objekt av sträng, int, float, lång eller anpassad typ.

klassinformation: Klassnamn.

Lämna tillbaka

Det returnerar booleskt antingen Sant eller Falskt.

Låt oss se några exempel på isinstance()-funktionen för att förstå dess funktionalitet.

Python Isinstance() Exempel:

Vi använder funktionen isinstance() för att kontrollera om olika variabler är instanser av sina separata datatyper eller klasser.

1. Heltal

Koda

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

Produktion:

 True 

2. Flyt

Koda

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

Produktion:

 True 

3. Sträng

Koda

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

Produktion:

 True 

4. Lista

Koda

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

Produktion:

 True 

5. Ordbok

Koda

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

Produktion:

biträdande poliskommissarie
 True 

6. Tuppel

Koda

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

Produktion:

 True 

7. Ställ in

Koda

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

Produktion:

 True 

8. Klass

Koda

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

Produktion:

 True 

Låt oss se några fler exempel på isinstance()-funktionen för att förstå dess funktionalitet.

Python isinstance() Funktionsexempel 1

Här skickar vi objekt och klass till funktionen som returnerar True endast om objektet tillhör klassen. Se exemplet nedan.

Koda

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

Produktion:

 True False 

Python isinstance() Funktionsexempel 2

isinstance() kan användas för att kontrollera att ett objekt är en instans av en klass som utför ett specifikt gränssnitt. Vi kan karakterisera ett gränssnitt som en klass som bestämmer en massa tekniker som olika klasser exekverar.

Koda

slumpmässig ingen generator i java
 # 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)) 

Produktion:

 'Woof!' 'Meow!' 

Python isinstance() Funktionsexempel 3

Denna funktion returnerar också True om objektet är av underklass och klass är en överordnad klass. Se hur det fungerar i exemplet nedan.

Koda

 # 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 

Produktion:

 True True 

Slutsats:

Sammanfattningsvis är funktionen isinstance() en användbar inbyggd Python-funktion som tillåter oss att kontrollera om ett objekt är en instans av en fördefinierad klass eller underklass. Detta kan vara särskilt värdefullt när man arbetar med kod som innehåller olika datatyper, eller när man skriver bibliotek eller API:er som behöver hantera många indatatyper. Genom att använda isinstance() kan man garantera att vår kod fungerar korrekt för olika indatatyper och är mer kraftfull generellt sett.