Function to apply superset of arguments to a function

7stud bbxx789_05ss at yahoo.com
Wed Sep 9 14:47:29 EDT 2009


On Sep 9, 10:45 am, Andrey Fedorov <anfedo... at gmail.com> wrote:
> Hi all,
>
> I've written a function [1] called apply_some which takes a set of
> keywords arguments, filters only those a function is expecting, and
> calls the function with only those arguments. This is meant to
> suppress TypeErrors - a way to abstract the logic which checks what
> arguments a passed-in function accepts.
>
> For example:
>
> > def foo(x=1, y=2):
> >    return (x,y)
>
> > apply_some(foo, y=0, z="hi") // calls foo(y=0)
> > -> (1,0)
>
> I'd like to expand this to fill undefined arguments with None, but
> before I do, does anyone know of any packages/libraries which either
> do something similar or would make this code cleaner?
>
> Cheers,
> Andrey
>
> 1.http://gist.github.com/183375

It sounds like all you are doing is moving type checking out of the
original function and into another function.  In scripting languages,
like python, type checking is frowned upon.  The accepted idiom is to
use try-except.



More information about the Python-list mailing list