Co to jest instancja w Pythonie i jak ją zaimplementować?



Ten artykuł wprowadzi Cię w metodę, którą jest Isinstance w Pythonie i da ci dokładne wyjaśnienie pojęciowe wraz z demonstracją.

jest jednym z najpotężniejszych języków programowania dostępnych obecnie na rynku. Python obsługuje również implementację innych języków programowania w swoim ekosystemie, takich jak Java, C i C ++. Spośród wielu modułów i funkcji dostępnych w ekosystemie Pythona, jedną z nich wyróżnia się instancja w Pythonie. Dlatego w tym artykule omówimy szczegółowo tę instancję, jej zastosowania i funkcje, które wnosi do stołu.

Poniższe wskazówki zostaną omówione w tym artykule,





Zaczynajmy!

Co to jest instancja w Pythonie?

Python isinstance służy do sprawdzania, czy pierwszy obiekt będący argumentem jest instancją lub podklasą klasy classinfo, która jest drugim argumentem.



Składnia isinstance w Pythonie jest następująca.

isinstance (obiekt, informacje o klasie)

Zobaczmy, jakie parametry i wartość zwracaną ma Isinstance w Pythonie,



Parametr i wartość zwracana Isinstancji

Parametr

Teraz, gdy znasz już składnię isinstance, przyjrzyjmy się bliżej parametrowi, który bierze pod uwagę.

  1. Obiekt: jest to obiekt, który należy sprawdzić.
  2. Classinfo: To klasa, informacje lub krotka klas, względem których obiekt ma zostać sprawdzony.

Wartość zwracana

Gdy instancja isinstance jest używana w programie, zwracana wartość zależy od szeregu warunków, jak wyjaśniono w poniższych wskaźnikach.

  1. Wartość True jest zwracana, jeśli obiekt jest podklasą informacji o klasie lub krotką klas.
  2. Jeśli obiekt nie jest podklasą informacji o klasie ani krotką klas, zwracana jest wartość false.

Jeśli w konkretnej sytuacji informacje o klasie nie są typem ani krotką typów, na ekranie użytkownika zostanie zgłoszony wyjątek błędu typu.

Przykłady

Aby lepiej zrozumieć użycie isinstance, przyjrzyjmy się kilku przykładom.

Przykład 1

class Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))

Wynik

Prawdziwe

różnica między marionetką a szefem kuchni

Fałszywy

Prawdziwe

Isinstance In Python: Przykład # 2

liczby = [1, 2, 3] wynik = instancja (liczby, lista) print (liczby, 'wystąpienie listy?', wynik) wynik = instancja (liczby, dykt) print (liczby, 'wystąpienie dykta?', wynik ) wynik = isinstancja (liczby, (dykt, lista)) print (liczby, 'instancja dyktu lub listy?', wynik) liczba = 5 wynik = instancja (liczba, lista) print (liczba, 'instancja listy?', wynik) wynik = isinstance (liczba, liczba) print (liczba, 'wystąpienie int?', wynik)

Wynik

[1, 2, 3] wystąpienie listy? Prawdziwe

[1, 2, 3] instancja dict? Fałszywy

[1, 2, 3] instancja dyktowania czy listy? Prawdziwe

5 wystąpień listy? Fałszywy

5 wystąpień int? Prawdziwe

co to jest instancja klasy w java

Przykład nr 3

# Kod Pythona dla isinstance () class Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple , Test)))

Wynik

Prawdziwe

Fałszywy

Prawdziwe

Kontynuujmy artykuł „Isinstance In Python” i zrozummy użycie metody Type,

Użycie Type w Pythonie

Podobnie jak w przypadku isinstance, w Pythonie jest jeszcze jedna metoda wbudowana, która służy do sprawdzania zmiennej typu pf używanej w czasie wykonywania. Jeśli pojedynczy argument lub obiekt jest przekazywany przez metodę typu, zwraca typ obiektu, który jest używany w czasie wykonywania.

Aby lepiej to zrozumieć, spójrz na poniższy przykład.

Isinstance w Pythonie: przykład # 1.1

# Kod Pythona type () z pojedynczym parametrem obiektu x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))

Wynik

klasa „int”

class „str”

klasa „lista”

Przykład # 1.2

# Kod Pythona dla type () z nazwą, # base i parametr dict o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) class test: a = 'Foo' b = 12 o2 = type ('Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) print (vars (o2))

Wynik

{„B”: 12, „a”: „Foo”, „__dict__”:, „__doc__”: None, „__weakref__”:}

{„B”: 12, „a”: „Foo”, „__doc__”: brak}

Porównajmy Type i Isinstance w Pythonie,

testowanie w różnych przeglądarkach przy użyciu selenu

Różnica między Type () a Isinstance

Typ i instancja w Pythonie pełnią dwie bardzo różne funkcje. Spójrz na poniższe wskaźniki, aby lepiej zrozumieć różnicę między nimi.

  1. Jeśli chcesz sprawdzić, czy obiekt ma określony typ, najlepiej użyć isinstance. Dzieje się tak, ponieważ isinstance będzie w stanie sprawdzić, czy obiekt przekazany w pierwszym argumencie jest tego samego typu, co obiekt przekazany w drugim argumencie.
  2. Z drugiej strony użycie typu jest bardziej preferowane, gdy trzeba po prostu sprawdzić typ konkretnego obiektu i nie porównywać go z innym.

Przykład

# Kod w Pythonie ilustrujący kaczkę klasy User (object): def __init __ (self, firstname): self.firstname = firstname @property def name (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Lis' klasa Niedźwiedź (Zwierzę): name = 'Niedźwiedź' # Użyj atrybutu (lub właściwości) .name niezależnie od typu a w [Użytkownik ('SampleOutput'), Lis (), Niedźwiedź ()] : print (a.name)

Wynik

SampleOutput

Lis

Niedźwiedź

Innym powodem, dla którego nie należy używać metody typu, jest brak dziedziczenia. Spójrz na przykłady udostępnione poniżej, aby lepiej to zrozumieć.

Kod #pythona ilustrujący brak wsparcia dla dziedziczenia w klasie type () MyDict (dict): '' 'Normalny dykt, który jest zawsze tworzony za pomocą' początkowego 'klucza' '' def __init __ (self): self [ 'initial'] = 'some data' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (typ (d) == MyDict)

Wynik

Fałszywy

Prawdziwe

Prawdziwe

Fałszywy

Więc to wszystko, to prowadzi nas do końca tego artykułu. Mam nadzieję, że zrozumiałeś wystąpienie w Pythonie i co on robi.

Aby uzyskać dogłębną wiedzę na temat języka Python i jego różnych aplikacji, możesz do szkoleń online na żywo z całodobowym wsparciem i dożywotnim dostępem.

Masz do nas pytanie? Wspomnij o nich w sekcji komentarzy w tym artykule, a skontaktujemy się z Tobą.