logo

Python isinstance() Funktion

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.