logo

Python isinstance() -funktio

Python isinstance() -funktiota käytetään tarkistamaan, onko annettu objekti kyseisen luokan esiintymä. Jos objekti kuuluu luokkaan, se palauttaa True. Muussa tapauksessa palauttaa False. Se palauttaa myös tosi, jos luokka on alaluokka.

Isinstance()-funktio ottaa kaksi argumenttia objektin ja classinfon ja palauttaa joko True tai False. Toiminnon allekirjoitus on annettu alla.

Syntaksi:

 isinstance(object, classinfo) 

Parametrit

esine: Se on merkkijono-, int-, float-, long- tai custom-tyyppinen objekti.

luokkatiedot: Luokan nimi.

Palata

Se palauttaa loogisen arvon joko True tai False.

Katsotaanpa joitain esimerkkejä isinstance()-funktiosta ymmärtääksemme sen toiminnallisuuden.

Python Isinstance() -esimerkkejä:

Käytämme isinstance()-funktiota tarkistaaksemme, ovatko erilaiset muuttujat yksittäisiä tietotyyppejä tai luokkia.

1. Kokonaisluku

Koodi

java merkkijonon liittäminen
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Lähtö:

 True 

2. Kelluu

Koodi

usa kuinka monta kaupunkia
 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

Lähtö:

 True 

3. merkkijono

Koodi

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

Lähtö:

 True 

4. Luettelo

Koodi

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

Lähtö:

 True 

5. Sanakirja

Koodi

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

Lähtö:

 True 

6. Tuple

Koodi

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

Lähtö:

 True 

7. Aseta

Koodi

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

Lähtö:

java korvaa kaikki
 True 

8. Luokka

Koodi

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

Lähtö:

 True 

Katsotaanpa lisää esimerkkejä isinstance()-funktiosta ymmärtääksemme sen toiminnallisuuden.

Python isinstance()-funktion esimerkki 1

Tässä välitämme objektin ja luokan funktiolle, joka palauttaa True vain, jos objekti kuuluu luokkaan. Katso alla oleva esimerkki.

Koodi

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

Lähtö:

 True False 

Python isinstance()-funktion esimerkki 2

isinstance()-komentoa voidaan käyttää tarkistamaan mahdollisuutta, että objekti on luokan esiintymä, joka suorittaa tietyn rajapinnan. Voimme luonnehtia käyttöliittymää luokkana, joka määrittää joukon tekniikoita, joita eri luokat suorittavat.

Koodi

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

Lähtö:

 'Woof!' 'Meow!' 

Python isinstance()-funktion esimerkki 3

Tämä funktio palauttaa myös True-arvon, jos objekti kuuluu alaluokkaan ja luokka on yläluokka. Katso, kuinka se toimii alla olevasta esimerkistä.

java tuple

Koodi

 # 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 

Lähtö:

 True True 

Johtopäätös:

Yhteenvetona voidaan todeta, että isinstance()-funktio on hyödyllinen sisäänrakennettu Python-funktio, jonka avulla voimme tarkistaa, onko objekti ennalta määritetyn luokan tai aliluokan esiintymä. Tämä voi olla erityisen arvokasta työskennellessäsi koodin kanssa, joka sisältää erilaisia ​​tietotyyppejä, tai kun kirjoitat kirjastoja tai API:ita, joiden on käsiteltävä monia syöttötyyppejä. Hyödyntämällä isinstance() voidaan taata, että koodimme toimii tarkasti eri syöttötyypeillä ja on yleisesti ottaen energisempi.