compact()和extract()是PHP中非常方便的函数。compact()接受符号表中的名称列表,并创建一个只包含它们值的哈希表。extract则相反。例如,
$foo = 'what';
$bar = 'ever';
$a = compact('foo', 'bar');
$a['foo']
# what
$a['baz'] = 'another'
extract(a)
$baz
# another
有没有一种方法可以在Python中做到同样的事情?我已经四处寻找,最接近的是这个线程,但它似乎不赞成这样做。
我知道locals(),globals()和vars(),但如何方便地选择它们的子集?
Python是否有更好的东西来避免这种需要?
context = {c.a:1, c.b:2}; timeit.Timer('c.a+c.b', 'import __main__.context as c')
如果可以将a
和b
提取到测试上下文中,那将变得更加简单明了。 - intuited