Using a dict as if it were a module namespace.
Hendrik van Rooyen
mail at microcorp.co.za
Mon Jan 28 06:52:01 EST 2008
On Sunday 27 January 2008 09:45, Steven D'Aprano wrote:
> I have a problem which I think could be solved by using a dict as a
> namespace, in a similar way that exec and eval do.
>
> When using the timeit module, it is very inconvenient to have to define
> functions as strings. A good alternative is to create the function as
> normal, and import it:
>
> def myfunc(x, y):
> return x+y
>
> timeit.Timer("myfunc(59, 60)", "from __main__ import myfunc").timeit()
>
>
> Not only is this an easy idiom to follow, but myfunc can live in another
> module: just replace __main__ with the module name.
>
> Now, I'm trying to build a suite of tests to use with timeit. I have a
> bunch of tests which I've created as dicts:
>
> test_suite= [dict(x=59, y=60), dict(x=-1, y=-2)]
This is probably the wrong answer:
test_suite = [(59,60),(-1,-2)]
for test in test_suite:
x,y = test
Then do the magic with x and y
- Hendrik
More information about the Python-list
mailing list