So verwenden Sie Typ -Hinweise in Python

So verwenden Sie Typ -Hinweise in Python
Dieser Artikel behandelt eine Anleitung zur Verwendung von "Type Tipps" in Python -Programmen. Typ -Tipps werden verwendet, um Objekttypen in einer Programmiersprache anzuzeigen. Sie geben auch ausdrücklich die Art der Werte an, die durch Funktionen und Klassen zurückgegeben werden. Dieser Mechanismus- und Codierungsstil wird manchmal als "statische Typisierung" oder "Typprüfung" in der Programmierterminologie bezeichnet. Einige Programmiersprachen erzwingen Typ und ohne sie, macht der Dolmetscher oder der Compiler Fehler.

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:
Rückgabenummer * Nummer
Druck (Quadrat (5))

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):
Rückgabenummer * Nummer
Druck (Quadrat (5))

Sie erhalten die folgende Ausgabe, nachdem Sie die beiden oben genannten Code -Samples ausgeführt haben:

25
25

Wenn Sie während ihrer Deklaration nur einen Typ einen Hinweis zuweisen möchten, verwenden Sie die folgende Syntax:

var1: str = "String"
var2: int = 5
var3: float = 6.0

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:
Rückgabenummer * Nummer
Ergebnis = Quadrat (5)
Druck (Ergebnis)
Druck (Typ (Ergebnis))

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:

25

Verwenden 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]
Def Square (Zahlen: Integerlist) -> Integerlist:
Return [n * n für n in Zahlen]
Ergebnis = Quadrat ([5, 6, 7])
Druck (Ergebnis)

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 alle
var1: any = "String"
var2: beliebig = 5
var3: beliebig = 6.0

Die 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:
Rückgabenummer * Nummer
Ergebnis = Quadrat (5)
Druck (Ergebnis)

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 gefunden

Wenn Sie im obigen Beispiel ein Float -Typ -Objekt für den Quadratfunktionsaufruf angeben, wirft MyPY einen Fehler auf.

Def Square (Nummer: int) -> int:
Rückgabenummer * Nummer
Ergebnis = Quadrat (5.0)
Druck (Ergebnis)

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"
1 Fehler in 1 Datei gefunden (überprüft 1 Quelldatei)

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:

25
25.0

Dies 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.