Replacing overloaded functions with closures.
aboudouvas at panafonet.gr
Mon Jul 30 17:42:08 CEST 2007
> The closures discussed in the article are not a solution for
> function overloading. They are a solution for function
> Python generally has no need for function name overloading--if
> you really want it you must do it manually using runtime type
> def func(obj):
> if isinstance(obj, bool):
> return not obj
> elif isinstance(obj, int):
> return obj * 2
> elif isinstance(obj, basestring):
> return obj + obj
> raise NotImplementedError('type %r not supported' % type(obj))
I have already come up with that solution but i was a little excited
from that article that i can do the same thing with closures...And get
rid of the isinstance commands.
> I'm not sure what the author was getting at, exactly.
May be that point confused me too!
More information about the Python-list