Python isinstance()-funktionen bruges til at kontrollere, om det givne objekt er en forekomst af den klasse. Hvis objektet tilhører klassen, returnerer det True. Ellers returnerer False. Det returnerer også sandt, hvis klassen er en underklasse.
Funktionen isinstance() tager to argumenter objekt og classinfo og returnerer enten True eller False. Funktionens signatur er angivet nedenfor.
Syntaks:
isinstance(object, classinfo)
Parametre
objekt: Det er et objekt af streng, int, float, lang eller tilpasset type.
klasseinfo: Klassenavn.
Vend tilbage
Det returnerer boolesk enten True eller False.
Lad os se nogle eksempler på isinstance()-funktion for at forstå dens funktionalitet.
Python Isinstance() eksempler:
Vi bruger funktionen isinstance() til at kontrollere, om forskellige variabler er forekomster af deres separate datatyper eller klasser.
1. Heltal
Kode
lære selen
# Check if an integer is an int n = 100 print(isinstance(n, int))
Produktion:
True
2. Flyde
Kode
# Check if a float is a float pi = 3.14159 print(isinstance(pi, float))
Produktion:
True
3. Snor
Kode
# Check if a string is a string name = 'Johnny' print(isinstance(name, str))
Produktion:
True
4. Liste
Kode
primtalsprogram i java
# Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list))
Produktion:
True
5. Ordbog
Kode
# Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict))
Produktion:
checkout med git
True
6. Tuple
Kode
# Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple))
Produktion:
True
7. Indstil
Kode
# Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set))
Produktion:
True
8. Klasse
Kode
# 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
Lad os se nogle flere eksempler på isinstance()-funktionen for at forstå dens funktionalitet.
Python isinstance() Funktionseksempel 1
Her sender vi objekt og klasse til funktionen, som kun returnerer True, hvis objektet tilhører klassen. Se nedenstående eksempel.
ulv mod ræv
Kode
# 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() Funktionseksempel 2
isinstance() kan bruges til at kontrollere off chance for, at et objekt er en forekomst af en klasse, der udfører en specifik grænseflade. Vi kan karakterisere en grænseflade som en klasse, der bestemmer en masse teknikker, som forskellige klasser udfører.
Kode
# 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() Funktionseksempel 3
Denne funktion returnerer også True, hvis objektet er af underklasse, og klassen er en overordnet klasse. Se, hvordan det virker i nedenstående eksempel.
Kode
# 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
Konklusion:
Afslutningsvis er funktionen isinstance() en nyttig indbygget Python-funktion, der tillader os at kontrollere, om et objekt er en forekomst af en foruddefineret klasse eller underklasse. Dette kan især være værdifuldt, mens du arbejder med kode, der inkluderer forskellige datatyper, eller mens du skriver biblioteker eller API'er, der skal håndtere rigtig mange inputtyper. Ved at bruge isinstance(), kan man garantere, at vores kode virker nøjagtigt for forskellige inputtyper og generelt set er mere energisk.