Some specific exec behavior ?

Stef Mientki stef.mientki at gmail.com
Tue Jan 1 15:07:12 EST 2008


Gabriel Genellina wrote:
> En Tue, 01 Jan 2008 16:39:21 -0200, Stef Mientki <stef.mientki at gmail.com>  
> escribi�:
>
>   
>> I find 2 strange behaviors in exec-function,
>> and I can't find anything in the documentation.
>> (Python 2.4.3 Enthought edition)
>>
>> 1. A function definition may not span more than 1 line, e.g.
>> This generates an exception:
>> def _func (x,y):
>>     return (1- x/2 + x**5 + y**3)*exp(-x**2-y**2)
>>
>> while this works correct:
>> def _func (x,y): return (1- x/2 + x**5 + y**3)*exp(-x**2-y**2)
>>
>> 2. an emtpy line at the end also generates an exception
>>
>> Is this behavior correct ?
>> where should I find information about it ?
>>     
>
> It's correct; source lines must be separated by '\n' only (NOT '\r\n' as  
> in a Windows text file) and the last line must end in '\n'.
> It's documented, but under the compile() built-in function:  
> http://docs.python.org/lib/built-in-funcs.html; perhaps the docs for exec  
> should refer there.
>
>   
Thanks Gabriel,
that explains everything !

cheers,
Stef





More information about the Python-list mailing list