[Python-Dev] PEP 484: a "NewType" constructor
Guido van Rossum
guido at python.org
Mon Mar 21 12:15:41 EDT 2016
Here's one more thing we'd like to add to PEP 484. The description is
best gleaned from the issue, in particular
following (we're going with option (A)).
Really brief example:
from typing import NewType
UserId = NewType('UserId', int)
Now to the type checker UserId is a new type that's compatible with
int, but converting an int to a UserId requires a special cast form,
UserId(x). At runtime UserId instances are just ints (not a subclass!)
and UserId() is a dummy function that just returns its argument.
For use cases see the issue. Also send feedback there please.
--Guido van Rossum (python.org/~guido)
More information about the Python-Dev