4 ms·
A typical pain point where type hinting fails in Python is with list of some types, it can't be enforced by the language without more checks. For example, you
by NeutralForest 3y ago
A typical pain point where type hinting fails in Python is with list of some types, it can't be enforced by the language without more checks.
For example, you can't do:
if isinstance(x, list[int])
though it would be super useful
- mejutoco 3y agoYou need to use mypy or similar to not check it at runtime: els: List[int] To test it at runtime you can use typeguard s @typechecked annotation. For convenience you can also use Pydantic.
- NeutralForest 3y agoYes I know, I'm just pointing out that you need additional tool to check that.
- smnrchrds 3y agoI didn't know about typeguard. Thank you for the recommendation! How do you do this in Pydantic though?
- mejutoco 3y agoFor this example pydantic would be overkill, but you can use with it class definitions that follow standard python class hints, with additional utilities like YourClass.parse_obj(d) that parse a dict and throw a validation error if it does not match, with mostly standard type annotations. It can also be used to generate openapi swagger files from the types and things like that.