logo

Funkcja isinstance() w Pythonie

Funkcja isinstance() w Pythonie służy do sprawdzania, czy dany obiekt jest instancją tej klasy. Jeśli obiekt należy do klasy, zwraca True. W przeciwnym razie zwraca False. Zwraca również wartość true, jeśli klasa jest podklasą.

Funkcja isinstance() przyjmuje dwa argumenty: obiekt i informacje o klasie i zwraca wartość True lub False. Poniżej podano sygnaturę funkcji.

Składnia:

 isinstance(object, classinfo) 

Parametry

obiekt: Jest to obiekt typu string, int, float, long lub niestandardowy.

Informacje o zajęciach: Nazwa klasy.

Powrót

Zwraca wartość logiczną True lub False.

Zobaczmy kilka przykładów funkcji isinstance(), aby zrozumieć jej funkcjonalność.

Przykłady Pythona Isinstance():

Używamy funkcji isinstance(), aby sprawdzić, czy różne zmienne są instancjami swoich odrębnych typów danych lub klas.

1. Liczba całkowita

Kod

przykłady drzew binarnych
 # Check if an integer is an int n = 100 print(isinstance(n, int)) 

Wyjście:

 True 

2. Unosić się

Kod

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

Wyjście:

 True 

3. Sznurek

Kod

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

Wyjście:

 True 

4. Lista

Kod

jak znaleźć ukryte aplikacje na Androidzie
 # Check if a list is a list colours = ['blue', 'black', 'brown'] print(isinstance(colours, list)) 

Wyjście:

 True 

5. Słownik

Kod

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

Wyjście:

licznik mysqla
 True 

6. Krotka

Kod

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

Wyjście:

 True 

7. Ustaw

Kod

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

Wyjście:

 True 

8. Klasa

Kod

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

Wyjście:

 True 

Zobaczmy więcej przykładów funkcji isinstance(), aby zrozumieć jej funkcjonalność.

Przykład funkcji isinstance() w Pythonie 1

Tutaj przekazujemy obiekt i klasę do funkcji, która zwraca True tylko wtedy, gdy obiekt należy do klasy. Zobacz poniższy przykład.

dla tablicy ciągów Java

Kod

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

Wyjście:

 True False 

Przykład funkcji isinstance() w Pythonie 2

Funkcja isinstance() może zostać wykorzystana do sprawdzenia, czy obiekt jest instancją klasy realizującej określony interfejs. Interfejs możemy scharakteryzować jako klasę, która określa zbiór technik wykonywanych przez różne klasy.

Kod

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

Wyjście:

 'Woof!' 'Meow!' 

Przykład funkcji isinstance() w Pythonie 3

Ta funkcja zwraca również True, jeśli obiekt należy do podklasy, a klasa jest klasą nadrzędną. Zobacz jak to działa na poniższym przykładzie.

Kod

 # 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 

Wyjście:

 True True 

Wniosek:

Podsumowując, funkcja isinstance() jest przydatną wbudowaną funkcją Pythona, która pozwala nam sprawdzić, czy obiekt jest instancją predefiniowanej klasy lub podklasy. Może to być szczególnie przydatne podczas pracy z kodem zawierającym różne typy danych lub podczas pisania bibliotek lub interfejsów API, które muszą obsługiwać bardzo wiele typów danych wejściowych. Wykorzystując funkcję isinstance(), można zagwarantować, że nasz kod będzie działał dokładnie w przypadku różnych typów danych wejściowych i, ogólnie rzecz biorąc, będzie bardziej energiczny.