John wrote:
> I noticed some odd behavior relating to eval(). First, a baseline case for
> behavior:
>
def test():
> ... x = 5
> ... return [a for a in range(10) if a == x]
> ...
test()
> [5]
>
> So far so good. Now let's try eval:
>
c = compile('[a for a in range(10) if a == x]'
I noticed some odd behavior relating to eval(). First, a baseline case for
behavior:
>>> def test():
... x = 5
... return [a for a in range(10) if a == x]
...
>>> test()
[5]
So far so good. Now let's try eval:
>>> c = compile('[a for a in range(10) if a == x]', '', 'single')
>>> eval(c, globals(