type-checking support in Python?
joe at strout.net
Mon Oct 6 16:19:58 CEST 2008
I'm just re-learning Python after nearly a decade away. I've learned
a good healthy paranoia about my code in that time, and so one thing
I'd like to add to my Python habits is a way to both (a) make intended
types clear to the human reader of the code, in a uniform manner; and
(b) catch any type errors as early and automatically as possible.
I found the "typecheck" module (http://oakwinter.com/code/typecheck/),
but I notice that it hasn't been updated since 2006, and it's not
included with the Python distribution. Are there other modules
providing similar functionality that I should consider instead?
Also, I'll probably be considering a lint-like tool at some point...
are there any that allow you to declare some extra type information,
and have that checked at lint time?
Finally, one thing I've considered is adopting some identifier
prefixes indicating type. Maybe "iFoo" for integer, "fFoo" for
floating-point numbers, "d" for dictionary, "l" for list, "t" for
tuple, "o" for object, and "v" for variable types that may be more
than one of the above. I gather (from just a couple days of browsing)
that such a naming convention isn't common in the Python community,
but is there anyone else here who does it? I'd rather adopt an
existing standard (even if it's not widely used) than make one up.
More information about the Python-list