Pas de cast ou de type: ignore, et mypy peut vérifier que les opérations que tu fais sur SafeLoader sont valides à la fois avec CSafeLoader et PySafeLoader.
Clairement c'est pas évident, c'est un exemple où le typage est plus difficile qu'il ne devrait l'être. Mais on pourrait aussi dire : pourquoi donc yaml ne détecte pas tout seul si CSafeLoader est disponible, et force l'utilisateur à faire ces acrobaties :)
Aussi, la syntaxe blah: typ1 | typ2 est relativement nouvelle (Python 3.10 je crois?), utilise typing.Union[typ1, type2] si tu as un Python plus vieux.
[^] # Re: type: ignore
Posté par Frédéric Perrin (site web personnel) . En réponse au journal Quel pov' type. Évalué à 5.
Salut Serge ! J'avais pas vu le nom avant de répondre :)
Il m'est venu une autre idée :
Pas de
castou detype: ignore, et mypy peut vérifier que les opérations que tu fais surSafeLoadersont valides à la fois avecCSafeLoaderetPySafeLoader.Clairement c'est pas évident, c'est un exemple où le typage est plus difficile qu'il ne devrait l'être. Mais on pourrait aussi dire : pourquoi donc
yamlne détecte pas tout seul siCSafeLoaderest disponible, et force l'utilisateur à faire ces acrobaties :)Aussi, la syntaxe
blah: typ1 | typ2est relativement nouvelle (Python 3.10 je crois?), utilisetyping.Union[typ1, type2]si tu as un Python plus vieux.