Decorator for Enforcing Argument Types

John Machin sjmachin at lexicon.net
Thu Dec 21 17:59:26 EST 2006


Bruno Desthuilliers wrote:

> <my humble opinion>
> Python is dynamic, and fighting against the language is IMHO a really
> bad idea. The only places where theres a real need for this kind of
> stuff are when dealing with the "outside world" (IOW : inputs and
> outputs). And then packages like formencode can do much more than mere
> type-checking
> </my humble opinion>

Agreed. The worst case I have seen:

An elaborate decorator (similar to the OP's) laboriously checks arg
types. That's IMHO not "consenting adults" territory. But it gets a
whole lot worse when it's applied to a method whose body is like this:

if isinstance(....
    action_for_type1(...
# big snip
elif isinstance(...
    action_typeN( ...
# no else statement




More information about the Python-list mailing list