Die Funktion type() wird hauptsächlich zu Debugzwecken verwendet. An die Funktion type() können zwei verschiedene Arten von Argumenten übergeben werden: einzelne und drei Argumente. Wenn ein einzelnes Argument type(obj) übergeben wird, gibt es den Typ des angegebenen Objekts zurück. Wenn drei Argumenttypen (Objekt, Basen, Diktat) übergeben werden, wird ein neues Typobjekt zurückgegeben.
Syntax der Python-Funktion type()
Syntax: Typ (Objekt, Basen, Diktat)
Parameter:
- Objekt: Erforderlich. Wenn nur ein Parameter angegeben ist, gibt die Funktion type() den Typ dieses Objekts zurück
- Basen: Tupel von Klassen, von denen die aktuelle Klasse abgeleitet ist. Später entspricht das Attribut __bases__.
- diktieren: ein Wörterbuch, das die Namespaces für die Klasse enthält. Später entspricht das Attribut __dict__.
Zurückkehren: gibt eine neue Typklasse oder im Wesentlichen eine Metaklasse zurück.
So funktioniert die Funktion type() in Python?
Im gegebenen Beispiel drucken wir den Typ der Variablen x. Wir werden den Typ eines Objekts in Python bestimmen.
Python3
c Zufallszahl
x> => 10> print> (> type> (x))> |
>
>Ausgabe
>
Beispiele für die Funktion type() in Python
Mithilfe der Funktion type() können wir den Typ eines Objekts in Python bestimmen. Nachfolgend finden Sie einige weitere Beispiele im Zusammenhang mit der Funktion type():
Ermitteln des Typs eines Python-Objekts
Hier überprüfen wir den Objekttyp mit der Funktion type() in Python .
Python3
BFS-Suche
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))> |
>
>Ausgabe
>
Überprüfen Sie, ob ein Objekt vom Typ in Python ist
In diesem Beispiel testen wir das Objekt mithilfe von Bedingungen und geben den booleschen Wert aus.
Python3
print> (> type> ([])> is> list> )> print> (> type> ([])> is> not> list> )> print> (> type> (())> is> tuple> )> print> (> type> ({})> is> dict> )> print> (> type> ({})> is> not> list> )> |
>
Bash for-Schleife
>Ausgabe
True False True True True>
Verwenden von type() mit bedingter Anweisung
In diesem Beispiel verwenden wir die Funktion type(), um den Typ eines Objekts in Python mit der bedingten if-else-Anweisung zu bestimmen.
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.'> )> |
>
>Ausgabe
The variables have different object types.>
Python type() mit 3 Parametern
Im gegebenen Beispiel erstellen wir eine Klasse ohne Basisklasse und eine von einer Basisklasse abgeleitete Klasse. Die Funktion type() ermöglicht die programmgesteuerte Definition von Klassen und ihren Attributen zur Laufzeit.
Python3
Konvertieren einer Ganzzahl in eine Zeichenfolge
# 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))> |
>
>
Ausgabe
{'var1': 'techcodeview.com', 'b': 2009, '__module__': '__main__', '__dict__': , '__weakref__': , '__doc__': None}
{'a': 'Geeks', 'b': 2018, '__module__': '__main__', '__doc__': None}
Anwendungen der Python-Funktion type()
- Typ( )-Funktion wird grundsätzlich für Debugging-Zwecke verwendet. Wenn Sie andere String-Funktionen wie .upper(), .lower() und .split() mit aus einem Webcrawler extrahiertem Text verwenden, funktioniert dies möglicherweise nicht, da sie möglicherweise von einem anderen Typ sind und String-Funktionen nicht unterstützen. Infolgedessen werden weiterhin Fehler ausgegeben, die sehr schwer zu debuggen sind [Betrachten Sie den Fehler als GeneratorType, der kein Attribut „lower()“ hat].
- Typ() Die Funktion kann an diesem Punkt verwendet werden, um den Typ des extrahierten Textes zu bestimmen und ihn dann in andere String-Formen zu ändern, bevor wir String-Funktionen oder andere Operationen darauf verwenden.
- Typ() mit drei Argumenten kann verwendet werden, um Klassen oder vorhandene Klassen dynamisch mit Attributen zu initialisieren. Es wird auch zum Registrieren von Datenbanktabellen verwendet SQL .
- In Unit-Test-Frameworks
type()>
kann verwendet werden, um die Ausgabe von Funktionen oder Methoden zu validieren und sicherzustellen, dass die erwarteten Datentypen zurückgegeben werden.