W tym artykule omówimy niezbędną umiejętność określania rodzaju obiektu Pyton . Przed przystąpieniem do jakichkolwiek operacji na obiekcie w języku programowania Python niezbędna jest wiedza, jak sprawdzić jego typ. To podstawowe zadanie pojawia się regularnie, niezależnie od tego, czy pracujesz nad osobistym projektem, czy złożonym systemem produkcyjnym.
Sprawdź typ obiektu w Pythonie
Python oferuje kilka metod identyfikowania typu obiektu, z których najbardziej podstawową jest wbudowana funkcja type(), która umożliwia szybkie sprawdzenie typu obiektu. Bardziej zaawansowane techniki, np jest instancją () oferują zaletę obsługi hierarchii klas i dziedziczenia. Zaczniemy od omówienia wbudowanej funkcji type(), a następnie przejdziemy do bardziej zaawansowanych metod, takich jak jest instancją () funkcja , właściwość __class__ i inne.
Pobierz i wydrukuj typ obiektu: type()
typ() zwraca typ obiektu. Jest podobny do typu w innych językach programowania, ponieważ można go użyć do pobrania i wydrukowania typu zmiennej lub literału.
Python3
print> (> type> (> 'string'> ))> #> print> (> type> (> 500> ))> #> print> (> type> ([> 9> ,> 8> ,> 7> ]))> #> |
>
>Wyjście
>
Pobierz i wydrukuj typ obiektu: isinstance()
jest instancją (obiekt, typ) zwraca True, jeśli argument obiektu jest podklasą lub instancją podanego parametru typu. Użyj krotki jako drugiej opcji, aby sprawdzić różne typy. Zwraca True, jeśli obiekt jest instancją dowolnego z podanych typów.
Python3
print> (> isinstance> (> 'string'> ,> str> ))> # True> print> (> isinstance> (> 300> ,> str> ))> # False> print> (> isinstance> (> 700> , (> int> ,> str> )))> # True> |
>
>Wyjście
True False True>
Pobierz i wydrukuj typ obiektu: atrybut class__
W Pythonie wszystko jest obiektem i każdy obiekt ma swoje własne cechy. Atrybut „__class__” jest jedynym, który może zwrócić typ klasy obiektu. Oprócz wbudowanych funkcji, atrybut __class__ w Pythonie może być również używany do weryfikacji typu obiektu.
Każdy obiekt Pythona ma atrybut o nazwie __class__, który zawiera informacje o klasie obiektu. Na przykład klasę liczby całkowitej 5 można znaleźć za pomocą poniższego kodu.
Python3
co to jest mapa Java
x> => 10> print> (x.__class__)> #> y> => 'GeeksForGeeks'> print> (y.__class__)> #> z> => 90.0> print> (z.__class__)> #> |
>
>Wyjście
>
Pobierz i wydrukuj typ obiektu: operator „==” i type()
Inną metodą określenia typu obiektu jest użycie funkcji type() i operatora ==. Można to wykorzystać do porównania typu obiektu z określoną klasą. Na przykład, aby ustalić, czy liczba całkowita 5 jest typu int, możemy użyć następującego kodu:
Pyton
x> => 5> print> (> type> (x)> => => int> )> # True> y> => 5.0> print> (> type> (y)> => => float> )> # True> z> => 'techcodeview.com'> print> (> type> (z)> => => int> )> # False> |
>
>Wyjście
True True False>
Pamiętaj, że Python jest językiem dynamicznie typowanym, co oznacza, że typ zmiennej może się zmieniać w trakcie jej używania. W rezultacie może zaistnieć konieczność sprawdzenia rodzaju przedmiotu przed wykonaniem określonych zadań. Na przykład, aby dodać dwie liczby, musimy upewnić się, że obie są liczbami całkowitymi lub zmiennoprzecinkowymi.
Przykład
Powyższy kod ilustruje, jak typ obiektu zmiennej może zmienić się podczas wykonywania.
Pyton
x> => 10> print> (> type> (x))> x> => 'GeeksForGeeks'> print> (> type> (x))> |
>
>Wyjście
>
Początkowa instrukcja print wyświetlała typ jako „int”, ponieważ 10 jest liczbą całkowitą, ale po przypisaniu łańcucha do tej samej zmiennej ta sama instrukcja print wyświetlała typ jako „str” ze względu na dynamiczną zmianę typu obiektu.
Dynamicznie typowany charakter Pythona wymaga procesu sprawdzania typów obiektów. Na przykład, jeśli chcemy dodać dwie liczby, musimy upewnić się, że obie są liczbami całkowitymi lub zmiennoprzecinkowymi. Niekompatybilne operacje na typach klas spowodowałyby błędy, które można debugować jedynie za pomocą funkcji takich jak type() lub innego podejścia polegającego na uzyskiwaniu dostępu do właściwości „__class__”.
Podsumowując, opanowanie sprawdzania typów obiektów w Pythonie jest kluczowe dla programistów na każdym poziomie, niezależnie od tego, czy jesteś początkującym, czy doświadczonym programistą. Zrozumienie technik, takich jak type(), isinstance() i klasa , jest niezbędne do tworzenia wydajnego i niezawodnego kodu. Metody te zapewniają wszechstronny zestaw narzędzi do różnych scenariuszy sprawdzania typów i zwiększają Twoją biegłość w programowaniu w języku Python.