<div dir="ltr">Is it intended that closures created in exec statement/function cannot see locals if the exec was provided a locals dictionary?<div><br></div><div>This code gives an error ("foo" is not found during lambda execution):</div><div><br></div><div>    exec("def foo(x): return x\n\n(lambda x:foo(x))(0)", globals(), {})<br></div><div><br></div><div>while executes normally with</div><div><br></div><div><div>    exec("def foo(x): return x\n\n(lambda x:foo(x))(0)")</div></div><div><br></div><div>Is this the expected behavior? If so where is it documented?</div><div><br></div><div>Andrea</div></div>