Python isinstance()-funksjonen brukes til å sjekke om det gitte objektet er en forekomst av den klassen. Hvis objektet tilhører klassen, returnerer det True. Ellers returnerer False. Den returnerer også sant hvis klassen er en underklasse.
Funksjonen isinstance() tar to argumenter objekt og klasseinfo og returnerer enten True eller False. Signaturen til funksjonen er gitt nedenfor.
Syntaks:
isinstance(object, classinfo)
Parametere
gjenstand: Det er et objekt av streng, int, float, lang eller tilpasset type.
klasseinfo: Klassenavn.
Komme tilbake
Den returnerer boolsk enten Sant eller Usant.
La oss se noen eksempler på isinstance()-funksjonen for å forstå dens funksjonalitet.
Python Isinstance() eksempler:
Vi bruker funksjonen isinstance() for å sjekke om ulike variabler er forekomster av deres separate datatyper eller klasser.
1. Heltall
Kode
konvertere boolesk til streng
# Check if an integer is an int n = 100 print(isinstance(n, int))
Produksjon:
True
2. Flyte
Kode
# Check if a float is a float pi = 3.14159 print(isinstance(pi, float))
Produksjon:
True
3. String
Kode
# Check if a string is a string name = 'Johnny' print(isinstance(name, str))
Produksjon:
True
4. Liste
Kode
primtallsprogram i java
# Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list))
Produksjon:
True
5. Ordbok
Kode
# Check if a dictionary is a dict person = {'name': 'Ayan', 'age': 30} print(isinstance(person, dict))
Produksjon:
kassen med git
True
6. Tuppel
Kode
# Check if a tuple is a tuple point = (1, 5) print(isinstance(point, tuple))
Produksjon:
True
7. Sett
Kode
# Check if a set is a set digits = {1, 2, 3, 4,5,6,7,8} print(isinstance(digits, set))
Produksjon:
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))
Produksjon:
True
La oss se noen flere eksempler på isinstance()-funksjonen for å forstå dens funksjonalitet.
Python isinstance() Funksjonseksempel 1
Her sender vi objekt og klasse til funksjonen som returnerer True bare hvis objektet tilhører klassen. Se eksemplet nedenfor.
partielt derivat av lateks
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))
Produksjon:
True False
Python isinstance() funksjonseksempel 2
isinstance() kan brukes til å sjekke av sjansen for at et objekt er en forekomst av en klasse som utfører et spesifikt grensesnitt. Vi kan karakterisere et grensesnitt som en klasse som bestemmer en haug med teknikker som forskjellige klasser utfø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))
Produksjon:
'Woof!' 'Meow!'
Python isinstance() funksjonseksempel 3
Denne funksjonen returnerer også True hvis objektet er av underklasse og klassen er en overordnet klasse. Se hvordan det fungerer i eksemplet nedenfor.
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
Produksjon:
True True
Konklusjon:
Avslutningsvis er isinstance()-funksjonen en nyttig innebygd Python-funksjon som lar oss sjekke om et objekt er en forekomst av en forhåndsdefinert klasse eller underklasse. Dette kan være spesielt verdifullt når du arbeider med kode som inkluderer ulike datatyper, eller mens du skriver biblioteker eller APIer som må håndtere svært mange inputtyper. Ved å bruke isinstance(), kan man garantere at koden vår fungerer nøyaktig for forskjellige inndatatyper og generelt sett er mer energisk.