logo

Python isinstance() funkcija

Python isinstance() funkcija naudojama patikrinti, ar nurodytas objektas yra tos klasės egzempliorius. Jei objektas priklauso klasei, jis grąžina True. Kitu atveju grąžina False. Taip pat grąžinama tiesa, jei klasė yra poklasis.

Funkcija isinstance() paima du argumentus objektą ir classinfo ir grąžina True arba False. Funkcijos parašas pateiktas žemiau.

Sintaksė:

 isinstance(object, classinfo) 

Parametrai

objektas: Tai yra eilutės, int, float, long arba pasirinktinio tipo objektas.

informacija apie klasę: Klasės pavadinimas.

Grįžti

Jis grąžina loginį vertę True arba False.

Pažiūrėkime keletą funkcijos isinstance() pavyzdžių, kad suprastume jos funkcionalumą.

Python Isinstance() pavyzdžiai:

Naudojame funkciją isinstance() norėdami patikrinti, ar įvairūs kintamieji yra atskirų duomenų tipų ar klasių egzemplioriai.

1. Sveikasis skaičius

Kodas

apache
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Išvestis:

 True 

2. Plūduriuoti

Kodas

ką tai reiškia xd
 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

Išvestis:

 True 

3. Styga

Kodas

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

Išvestis:

 True 

4. Sąrašas

Kodas

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

Išvestis:

 True 

5. Žodynas

Kodas

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

Išvestis:

 True 

6. Korpusas

Kodas

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

Išvestis:

 True 

7. Nustatyti

Kodas

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

Išvestis:

mysql skaičius
 True 

8. Klasė

Kodas

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

Išvestis:

 True 

Pažiūrėkime dar kelis funkcijos isinstance() pavyzdžius, kad suprastume jos funkcionalumą.

Python isinstance() funkcijos 1 pavyzdys

Čia mes perduodame objektą ir klasę funkcijai, kuri grąžina True tik tuo atveju, jei objektas priklauso klasei. Žiūrėkite žemiau esantį pavyzdį.

Kodas

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

Išvestis:

 True False 

Python isinstance() funkcijos 2 pavyzdys

isinstance() gali būti naudojamas norint patikrinti, ar objektas yra klasės, vykdančios konkrečią sąsają, egzempliorius. Sąsają galime apibūdinti kaip klasę, kuri nustato daugybę metodų, kuriuos vykdo skirtingos klasės.

Kodas

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

Išvestis:

 'Woof!' 'Meow!' 

Python isinstance() funkcijos 3 pavyzdys

Ši funkcija taip pat grąžina True, jei objektas yra poklasio, o klasė yra pagrindinė klasė. Pažiūrėkite, kaip tai veikia toliau pateiktame pavyzdyje.

dizaino modeliai java

Kodas

 # 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 

Išvestis:

 True True 

Išvada:

Apibendrinant, funkcija isinstance() yra naudinga integruota Python funkcija, leidžianti patikrinti, ar objektas yra iš anksto nustatytos klasės ar poklasio egzempliorius. Tai gali būti ypač naudinga dirbant su kodu, kuriame yra įvairių tipų duomenų, arba rašant bibliotekas ar API, kurioms reikia susidoroti su daugybe įvesties tipų. Naudodami isinstance (), galime garantuoti, kad mūsų kodas tiksliai veiks su skirtingais įvesties tipais ir apskritai yra energingesnis.