
Hi all,
Can someone explain why the following occurs?
a = numpy.zeros((100)) b = numpy.ones((10)) a[20:30] = b # okay eval('a[50:60] = b') # raises SyntaxError: invalid syntax
Is there some line mangling that the interpretor does that eval doesn't do?
I see there's room for global and local parameters to eval. Would setting one of those be the answer?
Cheers,
Angus.

On 25/09/06, Angus McMorland amcmorl@gmail.com wrote:
Hi all,
Can someone explain why the following occurs?
a = numpy.zeros((100)) b = numpy.ones((10)) a[20:30] = b # okay eval('a[50:60] = b') # raises SyntaxError: invalid syntax
Is there some line mangling that the interpretor does that eval doesn't do?
No. Eval evaluates expressions, that is, formulas producing a value. "a=b" does not produce a value, so you are obtaining the same error you would if you'd written
if a=b: ...
The way you run code that doesn't return a value is with "exec".
A. M. Archibald
participants (2)
-
A. M. Archibald
-
Angus McMorland