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,
- Co to jest instancja w Pythonie?
- Parametr i wartość zwracana Isinstancji
- Użycie Type w Pythonie
- Różnica między Type () a Isinstance
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ę.
- Obiekt: jest to obiekt, który należy sprawdzić.
- 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.
- Wartość True jest zwracana, jeśli obiekt jest podklasą informacji o klasie lub krotką klas.
- 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.
- 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.
- 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ą.