[PYTHON] Ich habe PEP 604 (Komplementäre Syntax für Union []) gelesen.

Ich habe gehört, dass der Microsoft-Checker für Python pyright die neuesten Spezifikationen unterstützt, und ich habe die README-Datei gescannt, sie aber noch nicht angesehen. PEP 604 (Komplementäre Syntax für Union []) wurde aufgelistet, also habe ich einen Blick darauf geworfen. Übrigens werde ich im nächsten Artikel über PEP-612 schreiben.

Überblick

Ansatz

das ist alles.

Beispiel

Das Beispiel in PEP ist selbsterklärend, daher werde ich es nicht erklären.

# in place of
# def f(list: List[Union[int, str]], param: Optional[int]) -> Union[float, str]
def f(list: List[int | str], param: int | None) -> float | str:
    pass

f([1, "abc"], None)

assert str | int == Union[str,int]
assert str | int | float == Union[str, int, float]

assert isinstance("", int | str)
assert issubclass(bool, int | float)

Impressionen

Recommended Posts

Ich habe PEP 604 (Komplementäre Syntax für Union []) gelesen.
Ich habe PEP 584 gelesen (Add Union Operators To dict)
Ich habe PEP 613 (Explicit Type Aliases) gelesen.
Ich habe PEP 612 (Parameter Specification Variables) gelesen.
Ich habe PEP 560 gelesen (Kernunterstützung für das Schreiben von Modulen und generischen Typen).
Ich habe PEP-362 (Function Signature Object) gelesen.
Ich habe PEP 614 (Lockerung der Grammatikbeschränkungen für Dekorateure) gelesen.
Ich habe PEP-593 gelesen (Flexible Funktion und variable Anmerkungen)
Ich las PEP-544 (Protokolle: Strukturelle Subtypisierung (statische Ententypisierung))
Ich habe PEP 585 gelesen (Type Hinting Generics In Standard Collections)