logo

Python isinstance() funkcija

Python isinstance() funkcija se koristi za provjeru je li dati objekt instanca te klase. Ako objekt pripada klasi, vraća True. Inače vraća False. Također vraća true ako je klasa podklasa.

Funkcija isinstance() uzima dva argumenta object i classinfo i vraća True ili False. Potpis funkcije dat je u nastavku.

Sintaksa:

 isinstance(object, classinfo) 

Parametri

objekt: To je objekt tipa string, int, float, long ili custom.

informacije o klasi: Naziv klase.

Povratak

Vraća booleovu vrijednost True ili False.

Pogledajmo neke primjere funkcije isinstance() da bismo razumjeli njezinu funkcionalnost.

Primjeri Python Isinstance():

Koristimo funkciju isinstance() da provjerimo jesu li različite varijable instance svojih zasebnih tipova podataka ili klasa.

1. Cijeli broj

Kodirati

gdje je tipka za umetanje na tipkovnici laptopa
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Izlaz:

 True 

2. Plutanje

Kodirati

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

Izlaz:

 True 

3. Niz

Kodirati

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

Izlaz:

 True 

4. Popis

Kodirati

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

Izlaz:

 True 

5. Rječnik

Kodirati

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

Izlaz:

 True 

6. Tuple

Kodirati

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

Izlaz:

 True 

7. Postavite

Kodirati

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

Izlaz:

 True 

8. Klasa

Kodirati

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

Izlaz:

java skener sljedeći
 True 

Pogledajmo još neke primjere funkcije isinstance() da bismo razumjeli njezinu funkcionalnost.

Primjer 1. funkcije Python isinstance().

Ovdje prosljeđujemo objekt i klasu funkciji koja vraća True samo ako objekt pripada klasi. Pogledajte donji primjer.

Kodirati

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

Izlaz:

 True False 

Primjer 2. funkcije Python isinstance().

isinstance() se može koristiti za provjeru slučajnog slučaja je li objekt instanca klase koja provodi određeno sučelje. Sučelje možemo okarakterizirati kao klasu koja određuje hrpu tehnika koje različite klase izvršavaju.

markdown precrtano

Kodirati

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

Izlaz:

 'Woof!' 'Meow!' 

Primjer 3. funkcije Python isinstance().

Ova funkcija također vraća True ako je objekt potklase, a klasa roditeljska klasa. Pogledajte kako to radi u donjem primjeru.

Kodirati

 # 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 

Izlaz:

 True True 

Zaključak:

Zaključno, funkcija isinstance() korisna je ugrađena funkcija Pythona koja nam omogućuje da provjerimo je li objekt instanca unaprijed definirane klase ili podklase. To može biti osobito vrijedno tijekom rada s kodom koji uključuje različite tipove podataka ili tijekom pisanja biblioteka ili API-ja koji se moraju nositi s velikim brojem vrsta unosa. Korištenjem isinstance(), može se jamčiti da naš kod djeluje točno za različite vrste unosa i da je općenito energičniji.