Kapitel 15. Mehr über Typ-Hinweise
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ich habe die schmerzliche Lektion gelernt, dass dynamische Typisierung für kleine Programme großartig ist. Für große Programme brauchst du eine diszipliniertere Herangehensweise. Und es hilft, wenn die Sprache dir diese Disziplin gibt, anstatt dir zu sagen: "Du kannst machen, was du willst".
Guido van Rossum, ein Fan von Monty Python1
Dieses Kapitel ist eine Fortsetzung von Kapitel 8, in dem es um das abgestufte Typensystem von Python geht. Die wichtigsten Themen sind:
-
Überladene Funktionssignaturen
-
typing.TypedDict
für Typ-Hinweisedicts
als Datensätze verwendet -
Typ Guss
-
Laufzeit-Zugriff auf Typ-Hinweise
-
Generische Typen
-
Deklaration einer generischen Klasse
-
Varianz: invariante, kovariante und kontravariante Typen
-
Allgemeine statische Protokolle
-
Was ist neu in diesem Kapitel?
Dieses Kapitel ist neu in der zweiten Ausgabe von Fluent Python. Beginnen wir mit Überladungen.
Überladene Signaturen
Python-Funktionen können verschiedene Kombinationen von Argumenten akzeptieren. Der Dekorator @typing.overload
ermöglicht es, diese verschiedenen Kombinationen zu annotieren. Das ist besonders wichtig, wenn der Rückgabetyp der Funktion vom Typ von zwei oder mehr Parametern abhängt.
Betrachte die eingebaute Funktion sum
. Dies ist der Text von help(sum)
:
>>> help(sum) sum(iterable, /, start=0) Return ...
Get Fließendes Python, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.