3 ms·
Other than validation, I can imagine several good reasons why one might want to wrap a primitive inside a class. For example, you may have a function: gro
by Hackbraten 4y ago
Other than validation, I can imagine several good reasons why one might want to wrap a primitive inside a class.
For example, you may have a function:
group_by_age() -> Dict[int, List[str]]
which might be perfectly good for your use case, but I can see why one might instead prefer:
group_by_age() -> Dict[Age, List[CustomerId]]
for self-documentation and expressiveness.
Your test assertions may also become easier to read:
assert group_by_age() == {
Age(23): [
CustomerId("0471"),
CustomerId("3390"),
],
Age(42): [
CustomerId("2334"),
],
}
- BiteCode_dev 4y agoUse NewType for this: https://mypy.readthedocs.io/en/stable/more_types.html?highlight=id#newtypes https://mypy.readthedocs.io/en/stable/more_types.html?highli...