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-Hinweise dicts 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.