type() w Pythonie
Funkcja type() jest najczęściej używana do celów debugowania. Do funkcji type() można przekazać dwa różne typy argumentów, pojedynczy i trzy argumenty. Jeśli zostanie przekazany pojedynczy argument type(obj), zwracany jest typ danego obiektu. Jeśli zostaną przekazane trzy typy argumentów (obiekt, podstawy, dykt), zwracany jest obiekt nowego typu.
Funkcja type() w Pythonie Składnia
Składnia: typ(obiekt, podstawy, dykt)
Parametry:
- obiekt: Wymagany. Jeśli określono tylko jeden parametr, funkcja type() zwraca typ tego obiektu
- podstawy: krotka klas, z których wywodzi się bieżąca klasa. Później odpowiada atrybutowi __bases__.
- dyktuj: słownik przechowujący przestrzenie nazw dla klasy. Później odpowiada atrybutowi __dict__.
Powrót: zwraca nową klasę typu lub zasadniczo metaklasę.
Jak działa funkcja type(). w Pythonie?
W podanym przykładzie drukujemy typ zmiennej x. Określimy typ obiektu w Pythonie.
Python3
x> => 10> print> (> type> (x))> |
Wyjście
Przykłady funkcji type() w Pythonie
Za pomocą funkcji type() możemy określić typ obiektu w Pythonie. Poniżej znajduje się kilka innych przykładów związanych z funkcją type():
Znajdowanie typu obiektu Pythona
Tutaj sprawdzamy typ obiektu za pomocą funkcji type() w Pyton .
Python3
a> => (> 'Geeks'> ,> 'for'> ,> 'Geeks'> )> b> => [> 'Geeks'> ,> 'for'> ,> 'Geeks'> ]> c> => {> 'Geeks'> :> 1> ,> 'for'> :> 2> ,> 'Geeks'> :> 3> }> d> => 'Hello World'> e> => 10.23> f> => 11.22> print> (> type> (a))> print> (> type> (b))> print> (> type> (c))> print> (> type> (d))> print> (> type> (e))> print> (> type> (f))> |
Wyjście
Sprawdź, czy obiekt jest typu w Pythonie
W tym przykładzie testujemy obiekt za pomocą warunków i drukujemy wartość logiczną.
Python3
print> (> type> ([])> is> list> )> print> (> type> ([])> is> not> list> )> print> (> type> (())> is> tuple> )> print> (> type> ({})> is> dict> )> print> (> type> ({})> is> not> list> )> |
Wyjście
True False True True True
Używanie type() z instrukcją warunkową
W tym przykładzie używamy funkcji type() do określenia typu obiektu w Pythonie za pomocą warunkowej instrukcji if-else.
Python3
# Example variables> my_tuple> => (> 10> ,> 'Hello'> ,> 45> ,> 'Hi'> )> my_dict> => {> 1> :> 'One'> ,> 2> :> 'Two'> ,> 3> :> 'Three'> }> # Check if the variables have the same object type> if> type> (my_tuple)> is> not> type> (my_dict):> > print> (> 'The variables have different object types.'> )> else> :> > print> (> 'The variables have the same object type.'> )> |
Wyjście
The variables have different object types.
Python type() z 3 parametrami
W podanym przykładzie tworzymy plik klasa bez klasy bazowej i klasę pochodną klasy bazowej. Funkcja type() umożliwia programowe definiowanie klas i ich atrybutów w czasie wykonywania.
Python3
# New class(has no base) class with the> # dynamic class initialization of type()> new> => type> (> 'New'> , (> object> , ),> > dict> (var1> => 'techcodeview.com'> , b> => 2009> ))> # Print type() which returns class 'type'> print> (> type> (new))> print> (> vars> (new))> # Base class, incorporated> # in our new class> class> test:> > a> => 'Geeksforgeeks'> > b> => 2009> # Dynamically initialize Newer class> # It will derive from the base class test> newer> => type> (> 'Newer'> , (test, ),> > dict> (a> => 'Geeks'> , b> => 2018> ))> print> (> type> (newer))> print> (> vars> (newer))> |
Wyjście
{„var1”: „techcodeview.com”, „b”: 2009, „__module__”: „__main__”, „__dict__”: , „__weakref__”: , „__doc__”: Brak}
{‘a’: ‘Geeks’, ‘b’: 2018, ‘__module__’: ‘__main__’, ‘__doc__’: Brak}
Zastosowania funkcji type() w Pythonie
- typ( ) jest zasadniczo używana do celów debugowania. Używanie innych funkcji łańcuchowych, takich jak .upper(), .lower() i .split() z tekstem wyodrębnionym z robota sieciowego, może nie działać, ponieważ mogą one być innego typu, który nie obsługuje funkcji łańcuchowych. W rezultacie będzie nadal wyrzucał błędy, które są bardzo trudne do debugowania [Rozważ błąd, ponieważ GeneratorType nie ma atrybutu less() ].
- typ() Funkcja może być w tym momencie użyta do określenia typu wyodrębnionego tekstu, a następnie zamiany go na inną formę ciągu znaków, zanim użyjemy funkcji łańcuchowych lub jakichkolwiek innych operacji na nim.
- typ() z trzema argumentami może być używany do dynamicznego inicjowania klas lub istniejących klas z atrybutami. Służy również do rejestrowania tabel bazy danych za pomocą SQL .
- W ramach testów jednostkowych
type()>może służyć do sprawdzania wyników funkcji lub metod, zapewniając zwrócenie oczekiwanych typów danych.