Python hatte vor kurzem eine große Entwicklung um statische Typisierung. Beginnend mit Python 3.5, Typ Hinweise sind eine Sache. Genau darum ging es bei PEP 0484. Die Typ-Hintsyntax basiert vollständig auf der Funktion Anmerkungssyntax, die früher mit PEP 3107 eingeführt wurde. Dies erlaubte es, dass PEP 0484 eine Änderung war, die keine neue Syntax beinhaltete, was es sehr attraktiv und leicht anzupassen macht.
Also, wie funktioniert das? Die Syntax ist in einfachen Fällen ziemlich intuitiv. Zum Beispiel:
def greeting(name: str) -> str:
return 'Hello ' + name
Das Typhinweis-System unterstützt jedoch auch sehr komplizierte Dinge. Sie können auch Benutzertypen, Callables, mehrere Überladungen mit Unionen, sogar generische Typen verwenden. Sie können viele Beispiele in der PEP selbst sehen.
Sie können auch Guido van Rossum’s talk über Typ Hinting auf der letzten PyCon sehen, es ist wirklich interessant und deckt viele Details ab.
Schließlich, was machen wir mit all diesen Typhinweisen? Nun, es gibt diese großartige Bibliothek, die schon lange vor Python 3.5 und PEP 0484 existiert. Tatsächlich basiert die Typhinweis-Syntax, die offiziell eingeführt wurde, auf dieser Bibliothek, ist aber nur formalisiert. Die Bibliothek heißt mypy und ist im Grunde eine statische Typüberprüfung für Python. Nach der Installation können Sie die ausführbare Datei mypy
verwenden, um ein beliebiges Python-Skript zu prüfen, das Typanmerkungen enthält.
Zum Beispiel, lassen Sie uns in einer Datei über Funktionsdefinition setzen, und nennen Sie es mit den falschen Argumente:
greeting(123)
Lauf mypy auf die Datei, gibt die folgende Ausgabe:
$ mypy test.py
test.py:4: error: Argument 1 to "greeting" has incompatible type "int"; expected "str"
Mypy, obwohl technisch experimentell, ist ein sehr mächtiges Werkzeug, das wirklich gut funktioniert. Wenn Sie in dieser Sache sind und Typanmerkungen annehmen würden, dann sollten Sie es wirklich überprüfen.
Vielleicht, wenn PyCharm [PEP 484] unterstützt (https://www.python.org/dev/peps/pep-0484/)? –