[PYTHON] J'ai lu PEP 604 (syntaxe complémentaire pour Union []).

Quand j'ai entendu dire que le vérificateur de Microsoft pour Python pyright prend en charge les dernières spécifications et scanné README, je ne l'avais pas regardé jusqu'à présent. PEP 604 (syntaxe complémentaire pour Union []) était répertorié, alors j'ai jeté un coup d'œil. En passant, j'écrirai sur PEP-612 dans le prochain article.

Aperçu

approche

c'est tout.

Exemple

L'exemple en PEP est explicite, donc je ne l'expliquerai pas.

# 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)

Impressions

Recommended Posts

J'ai lu PEP 604 (syntaxe complémentaire pour Union []).
J'ai lu PEP 584 (Add Union Operators To dict)
J'ai lu PEP 613 (alias de type explicite)
J'ai lu PEP 612 (Variables de spécification des paramètres)
J'ai lu PEP 560 (support de base pour le module de saisie et les types génériques)
J'ai lu PEP-362 (objet de signature de fonction)
J'ai lu PEP 614 (Relaxing Grammar Restrictions on Decorators)
J'ai lu PEP-593 (fonction flexible et annotations variables)
J'ai lu PEP-544 (Protocoles: sous-typage structurel (typage statique du canard))
J'ai lu PEP 585 (Type Hinting Generics In Standard Collections)