logo

Функція Python isinstance().

Функція Python isinstance() використовується для перевірки, чи є даний об’єкт екземпляром цього класу. Якщо об’єкт належить до класу, він повертає True. Інакше повертає False. Він також повертає true, якщо клас є підкласом.

Функція isinstance() приймає два аргументи object і classinfo і повертає True або False. Сигнатуру функції наведено нижче.

Синтаксис:

 isinstance(object, classinfo) 

Параметри

об'єкт: Це об’єкт типу string, int, float, long або спеціального типу.

інформація про клас: Назва класу.

Повернення

Він повертає логічне значення True або False.

Давайте розглянемо кілька прикладів функції isinstance(), щоб зрозуміти її функціональність.

Приклади Python Isinstance():

Ми використовуємо функцію isinstance(), щоб перевірити, чи різні змінні є екземплярами своїх окремих типів даних або класів.

1. Ціле число

Код

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

Вихід:

 True 

2. Поплавок

Код

підручник pyspark
 # Check if a float is a float pi = 3.14159 print(isinstance(pi, float)) 

Вихід:

 True 

3. Рядок

Код

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

Вихід:

 True 

4. Список

Код

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

Вихід:

 True 

5. Словник

Код

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

Вихід:

 True 

6. Кортеж

Код

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

Вихід:

 True 

7. Набір

Код

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

Вихід:

додати до масиву java
 True 

8. Клас

Код

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

Вихід:

 True 

Давайте розглянемо ще кілька прикладів функції isinstance(), щоб зрозуміти її функціональність.

Приклад функції Python isinstance() 1

Тут ми передаємо об’єкт і клас функції, яка повертає True, лише якщо об’єкт належить до класу. Дивіться приклад нижче.

Код

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

Вихід:

 True False 

Приклад функції Python isinstance() 2

isinstance() можна використовувати, щоб перевірити випадково, що об’єкт є екземпляром класу, який виконує певний інтерфейс. Ми можемо охарактеризувати інтерфейс як клас, який визначає групу методів, які виконують різні класи.

Код

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

Вихід:

 'Woof!' 'Meow!' 

Приклад функції Python isinstance() 3

Ця функція також повертає True, якщо об’єкт належить до підкласу, а клас є батьківським. Подивіться, як це працює, у прикладі нижче.

альфа бета обрізка

Код

 # 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 

Вихід:

 True True 

Висновок:

Підсумовуючи, функція isinstance() є корисною вбудованою функцією Python, яка дозволяє нам перевірити, чи є об’єкт екземпляром попередньо визначеного класу чи підкласу. Це може бути особливо цінним під час роботи з кодом, який містить різні типи даних, або під час написання бібліотек чи API, які потребують роботи з великою кількістю типів введення. Використовуючи isinstance(), можна гарантувати, що наш код діє точно для різних типів вхідних даних і є більш енергійним загалом.