Seite 1 von 1

eval und lambda

Verfasst: Sonntag 30. September 2012, 18:26
von alain
Hallo,

ich bin über eine Sache gestolpert, von der ich nicht weiß, warum sich Python so verhält:

Code: Alles auswählen

>>> z=lambda x: x>0 and x or  0.; sum([z(i) for i in [-100,0,100,200]])
300.0
>>> eval("z=lambda x: x>0 and x or  0.; sum([z(i) for i in [-100,0,100,200]])")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1
    z=lambda x: x>0 and x or  0.; sum([z(i) for i in [-100,0,100,200]])
     ^
SyntaxError: invalid syntax
Ich hätte erwartet, dass sich beide Befehle gleich verhalten. Wieso ist das nicht der Fall?
al

Re: eval und lambda

Verfasst: Sonntag 30. September 2012, 18:41
von sparrow
Ich glaube du verwechselst eval und exec

[solved] Re: eval und lambda

Verfasst: Sonntag 30. September 2012, 18:45
von alain
sparrow hat geschrieben:Ich glaube du verwechselst eval und exec
ahhh - klar! danke