Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

Python Annotations: Wie und wann benutzt man sie ?

-
3
 Minuten Lesezeit
-
python anmerkungen

Python Annotations bieten zusätzliche Informationen über Variablen oder Funktionen. Sie können z. B. die Lesbarkeit des Codes verbessern oder Fehler mithilfe von IDEs oder Bibliotheken von Drittanbietern aufspüren. Hier erfährst du alles, was du über Python-Annotationen wissen musst und wie du lernst, sie zu verwenden.

Programmiersprachen wie C, C++ oder Java sind Sprachen mit statischer Typisierung. Das bedeutet, dass der Datentyp der Variable deklariert werden muss, bevor sie tatsächlich in einem Programm verwendet werden kann.

Im Gegensatz dazu ist Python eine Sprache mit dynamischer Typisierung.

Der Datentyp der Variable muss also nicht vorher angegeben werden. Er wird erst zur Laufzeit bestimmt.

Mit anderen Worten: Ein Python-Entwickler muss den Datentyp des Wertes, den eine Variable annimmt, nicht deklarieren, da Python den Datentyp der Variable anhand ihres aktuellen Wertes realisiert.

Statistische und dynamische Sprachen haben ihre eigenen Vor- und Nachteile. Eines der Probleme dynamischer Sprachen ist, dass Typisierungsfehler nur in der Laufzeit erkannt werden.

Mehr Fehler werden in der Laufzeit entdeckt, obwohl sie während der Entwicklungszeit hätten entdeckt werden können. Außerdem kann das Fehlen einer Kompilierung zu einem leistungsschwachen Code führen.

Wortreiche Variablen machen den Code schwerer zu sagen. Auch falsche Annahmen über das Verhalten bestimmter Funktionen und Fehler durch falsche Verknüpfungen sind zu beklagen.

Seit Version 3.0 bietet Python jedoch die Möglichkeit, diese Bedenken mithilfe von Annotationen zu beheben. Ziel ist es, den Datentyp von Variablen hervorzuheben, so dass Typisierungsfehler vor der Laufzeit erkannt werden können.

Was sind Python-Annotations?

Python Annotations sind eine Python-Funktion, die den Entwicklern den Datentyp von Variablen oder Funktionsparametern anzeigt. Sie können auch die Lesbarkeit eines Programms in Python verbessern.

Es gibt zwei Haupttypen von Annotationen in Python: Funktionsannotationen und Variablenannotationen. Jede hat ihre Rolle und ihre Besonderheiten.

Funktionsannotationen können Beschreibungen oder Datentypen von Parametern und vieles mehr angeben. Am häufigsten werden Funktionsannotationen jedoch verwendet, um den Datentyp der Parameter einer Funktion und den Rückgabetyp einer Funktion zu bezeichnen.

Variablenanmerkungen wurden ursprünglich in PEP 484 eingeführt, wo Typkommentare zur Annotation von Variablen verwendet werden. Diese Kommentare geben den Datentyp der Variablen an. Diese Methode ist jedoch nicht sehr effizient und hat ihre eigenen Nachteile.

Erst mit PEP 526 in Python 3.6 wurden Annotationen für Variablen eingeführt. Beim Schreiben von Variablenanmerkungen gibt es einige Regeln, wie z. B. dass vor oder nach einem Doppelpunkt kein Leerzeichen stehen darf.

Für komplexe Typen wie Listen oder Tupel wird ein Typisierungsmodul verwendet. Dies ermöglicht es zum Beispiel, sowohl Funktions- als auch Typ-Annotationen zu verwenden.

Wie kann ich auf Python-Annotationen zugreifen?

Um auf Annotationen zuzugreifen, kannst du das Attribut „__ Annotationen __“ auf dem Funktionsobjekt verwenden. Die Ergebnisse werden in Form eines Wörterbuchs ausgegeben oder die Tasten und Werte werden auf die Parameter bzw. Annotationen abgebildet.

Auch wenn die Rückgabe kein Parameter ist, kann sie von Python hinzugefügt werden, um den Rückgabetyp der Funktion anzugeben. Wenn eine Funktion keine Annotationen hat, dann gibt das Attribut „__annotations__“ ein leeres Wörterbuch zurück.

Wozu dienen Python Annotations ?

Python Annotations haben mehrere Anwendungsfälle. Zunächst einmal k önnen sie verwendet werden, um Typisierungsfehler vor der Laufzeit mithilfe von Drittanbieter-Tools wie mypy zu erkennen, die die statische Typisierung überprüfen und Tipps oder Warnungen anbieten können.

Das Tool mypy wurde von Jukka Lehtosalo entwickelt, um die Vorteile einer statischen Typisierungsumgebung für eine dynamische Sprache wie Python zu bieten. Es überprüft den annotierten Code in Python und gibt Warnungen aus, wenn dieser inkonsistent verwendet wird.

Dieses Tool überprüft auch die Syntax des Codes und meldet Fehler, wenn die Syntax ungültig ist. Es unterstützt auch die schrittweise Typisierung, sodass du in deinem eigenen Tempo Typisierungstipps in den Code einfügen kannst. Ähnliche Tools sind z. B. pyright, pytypes oder pyre.

Ebenso ist es möglich, mithilfe von IDEs Fehler zu erkennen, wenn die Annotation verwendet wurde, um den Typ der Parameterdaten anzugeben. Dies hilft, Fehler beim Schreiben des Codes in einer integrierten Entwicklungsumgebung wie Pycharm zu erkennen.

Darüber hinaus können Annotationen auch bei der Autovervollständigung helfen. Eine IDE versteht anhand von Annotationen den Datentyp einer Variablen und schlägt daher Methoden vor, die auf diesen Datentyp angewendet werden können.
Schließlich verbessern Annotationen auch die Lesbarkeit des Codes. Datentypen werden klar und explizit hervorgehoben, wodurch die Notwendigkeit von Docstrings oder Kommentaren zur detaillierten Erklärung entfällt.

An sich sind Annotationen bei Python nicht besonders nützlich. Der eigentliche Vorteil liegt in den Bibliotheken von Drittanbietern wie Linters, Type Checkers oder IDEs, die Annotationen verwenden können.

 

Wie lernt man Python programmieren ?

Python hat viele Feinheiten, wie z. B. Annotationen, die es dir ermöglichen, sein volles Potenzial auszuschöpfen.

Um den Umgang mit dieser Programmiersprache zu erlernen, kannst du dich für DataScientest entscheiden.

Alle unsere Kurse enthalten ein Modul, das sich speziell mit der Python-Programmierung und seinen Data Science-Bibliotheken wie NumPy und Pandas befasst. Die anderen Module des Programms decken Datenanalyse, Machine Learning, DataViz oder Business Intelligence ab.

Am Ende des Kurses wirst du alle Fähigkeiten besitzen, die du brauchst, um den Beruf auszuüben, der dem gewählten Kurs entspricht: Data Analyst, Data Scientist, Data Engineer oder auch Data Manager. Mehr als 80 % unserer Alumni haben direkt nach dem Kurs einen Job gefunden.

Alle unsere Kurse werden online durchgeführt und verfolgen einen Blended-Learning-Ansatz, der Online-Lernen auf einer gecoachten Plattform und Masterclasses miteinander verbindet. Du kannst zwischen einer Weiterbildung und einem intensiven BootCamp wählen, je nach deinen Vorlieben und deiner Verfügbarkeit.

Was die Finanzierung angeht, sind alle unsere Kurse vom Bildungsgutschein finanzierbar.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.