Python ist eine dynamisch typisierte Sprache und Typ -Hinweise sind nicht obligatorisch. Python Interpreter identifiziert Objekttypen während der Codeausführung automatisch und ermöglicht es auch Objekten, ihre Typen während der Lebensdauer dynamisch zu ändern. In Python 3 wurden jedoch optionale Typ -Hinweise eingeführt.5, damit die Programmierer Typen verwenden können, wenn sie dies wünschen.
Beachten Sie, dass Python -Interpreter im Gegensatz zu anderen Programmiersprachen selbst optionale Typ -Hinweise nicht erzwingt, da es sie nur als Hinweise betrachtet. Sie müssen Module von Drittanbietern oder Texteditor -Plugins verwenden, um strenge Typ -Überprüfungen in Python durchzusetzen.
Warum type Tipps verwenden?
Geben Sie Hinweise aus, die explizit Objekttypen geben und die Code -Unklarheit reduzieren. Sie machen es viel einfacher, die Logik hinter Codeanweisungen zu schließen, insbesondere wenn dieselbe Codebasis von mehreren Mitgliedern eines Teams bearbeitet wird. Sie sind auch nützlich, wenn Codebasen nach langen Intervallen zugegriffen werden. Type Tipps können es viel einfacher machen, Code zu debuggen, wenn Probleme und Abstürze auftreten. Sie erhöhen jedoch die Ausführlichkeit im Code und einige Entwickler mögen es möglicherweise nicht, da es die Standard -Python -Syntax beeinflusst, die viel sauberer ist. Die Verwendung von Typ -Tipps in Python -Programmen kann auch eine persönliche Wahl sein, die auf dem Kodierungsstil und den Mustern der eigenen Kodierungsstile basiert. Wie bereits erwähnt, erzwingt der Python -Dolmetscher sie auch bei der Verwendung von Typ -Tipps und Sie müssen möglicherweise ein Drittanbietermodul installieren, um strenge Typprüfungen zu ermöglichen.
Grundlegende Syntax und Verwendung
Das folgende Beispiel zeigt Typ -Tipps, die für ein Int -Typ -Objekt in Python verwendet werden:
Def Square (Nummer: int) -> int:Die erste Anweisung definiert eine Funktion namens "Square". Es erfordert ein obligatorisches Argument namens "Nummer" und berechnet sein Quadrat. Der Typtyp-Hinweis für das Zahlenargument wird als „int“ definiert, wobei das Symbol ":" (Colon), während der Typtyp für den Rückgabetyp erneut als "int" mit einem "->" (Pfeil) Symbol definiert ist.
Ohne Typ Hinweise würde die gleiche Funktion wie folgt definiert:
Def Square (Nummer):Sie erhalten die folgende Ausgabe, nachdem Sie die beiden oben genannten Code -Samples ausgeführt haben:
25Wenn Sie während ihrer Deklaration nur einen Typ einen Hinweis zuweisen möchten, verwenden Sie die folgende Syntax:
var1: str = "String"Sie können Variablen vor „=“ gleiches Zeichen Typen zuweisen. Wie oben erläutert, müssen Objektnamen und Typ -Hinweise durch ein "(Dickdarm) -Symbol getrennt werden.
Python -Dolmetscher erzwingt keine Hinweise zum Typen. Wenn Sie also die Art von Objekten in einen anderen in Python verfügbaren Zufallstyp ändern, erhalten Sie das gleiche Ergebnis, solange die Logik selbst keinen Fehler wirft. Hier ist Code Beispiel:
Def Square (Nummer: Float) -> Str:Hier ist das Zahlenargument vom Typ "Float". Die Funktion „Quadrat“ gibt nun ein STR -Typ -Objekt zurück. Diese beiden Typen werden jedoch nicht durchgesetzt und Sie erhalten "25" als Ausgabe und der zurückgegebene Wert wird vom Typ "int" entstehen. Nachdem Sie das obige Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:
25Verwenden von Typ -Aliase
Um Typ -Hinweise für komplexe Objekte zu definieren, die mehrere Typen oder benutzerdefinierte Objekttypen enthalten, können Sie Typ -Aliase verwenden. Das folgende Code -Beispiel zeigt die Verwendung von Typ -Aliase -Typen:
Integerlist = Liste [int]In der ersten Anweisung wird ein neuer Alias mit dem Namen "IntegerList" definiert, indem es einen Typ zugewiesen hat. Die Typdefinition kann einfach oder komplex sein, das mehrere Typen enthält. Als nächstes wird dieser Typ -Alias in der Quadratfunktion verwendet und dem Hauptargument und dem Rückgabewert zugeordnet. Die Quadratfunktion gibt nun das Quadrat jeder Zahl in einer Liste zurück. Nachdem Sie das obige Code -Beispiel ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:
[25, 36, 49]Verwenden Sie "Any" -Typ -Hinweis
Der Typ „jeder“ kann verwendet werden, um Variablen, Argumente und Rückgabetypen mit einem beliebigen Typ zu kommentieren. Objekte mit "jedem" -Typ -Hinweis können eine Zeichenfolge, eine Ganzzahl, ein Float oder einen anderen gültigen Typ in Python sein. Hier ist ein Beispiel:
vom Eintippen importieren alleDie erste Anweisung importiert "einen beliebigen" Typ aus dem "Tipp" -Modul. Das Typing -Modul bietet Unterstützung für Typ -Hinweise in Python -Programmen, und Sie müssen bestimmte Typen davon importieren, um sie zu verwenden. Anstatt Str, INT, Float oder einen anderen solchen Typ zu verwenden, wird „jeder“ verwendet, um anzuzeigen, dass die Variable während ihres Lebens von jedem Typ sein kann. Beachten Sie, dass Typ -Tipps in Python immer noch nicht durchgesetzt werden, ohne eine Bibliothek Dritter zu verwenden.
Verwenden eines Drittanbietermoduls zum Überprüfen der Typ -Hinweise
MyPy ist eines der am häufigsten verwendeten Typprüfmodule für Python. Sie können es verwenden, um typen Hinweise zugezogenen Fehler in Ihren Python -Programmen zu finden. Sie können es in Ubuntu und anderen Linux -Verteilungen im PIP -Paket -Manager installieren. Führen Sie dazu einen dieser Befehle aus:
$ pip installieren Sie MyPy
$ pip3 install mypy
Sobald MyPy in Ihrem Linux -System installiert wurde, können Sie strenge Typ -Checking -Probleme in einem Python -Programm überprüfen, indem Sie im folgenden Format einen Befehl ausführen:
$ mypy Programm.py
Beachten Sie, dass MyPy nur ein Werkzeug ist, um die strenge Überprüfung zu überprüfen. Es wird einen Bericht über Ihr Python -Programm ausführen und zeigen, dass Sie Überprüfungsfehler eingeben. Sie können jedoch weiterhin Python -Programme normal ausführen (mit oder ohne Typ -Hinweise), und während der Ausführung werden keine type -Hinweise zugeordnet. Betrachten Sie das folgende Code -Beispiel:
Def Square (Nummer: int) -> int:Diese Code -Probe ist identisch mit einem der oben erläuterten Beispiele. Angenommen, es liegt in einem „Haupt.Py ”-Datei können Sie den Typ -Hinweise mithilfe von MyPY überprüfen, indem Sie den folgenden Befehl ausführen:
$ mypy main.py
Nachdem Sie den obigen Befehl ausgeführt haben, sollten Sie die folgende Ausgabe erhalten:
Erfolg: Keine Probleme in 1 Quelldatei gefundenWenn Sie im obigen Beispiel ein Float -Typ -Objekt für den Quadratfunktionsaufruf angeben, wirft MyPY einen Fehler auf.
Def Square (Nummer: int) -> int:Wenn Sie nun die Datei mit „mypy main ausführen.PY ”-Befehl, Sie erhalten einen ähnlichen Fehler wie:
hauptsächlich.PY: 26: Fehler: Argument 1 bis "Quadrat" hat einen inkompatiblen Typ "Float"; erwartet "int"Dies ist nur ein Fehlerbericht, der angezeigt wird, dass Sie Hinweise Fehler eingeben. Wenn Sie beide oben ohne MYPY genannten Code -Samples ausführen, erhalten Sie die folgende Ausgabe:
25Dies deckt die grundlegendste und häufigste Verwendung von Typs Hinweisessyntax in Python ab. Weitere Informationen zu Typ -Tipps, erweiterten Nutzungen und benutzerdefinierten Typen finden Sie in der offiziellen Python -Dokumentation, die hier verfügbar ist.
Abschluss
Type Tipps in Python bieten eine systematische Möglichkeit, Typindikatoren an Variablen, Funktionen und Klassen anzuhängen. Während Python selbst Typen Hinweise nicht durchsetzt, können Sie Drittanbietermodule verwenden, um die Typ -Hinweise zu überprüfen und sie als grundlegende Form von Tests zu verwenden, um das beabsichtigte Verhalten von Python -Objekten in Ihrem Programm zu gründen. Die Art und Weise, wie die Python -Programmiersprache entworfen wird, und ihre Kernphilosophie, strenge Typ -Überprüfung für Typ -Hinweise.