爲什麼當我鍵入以下在eval()中使用賦值(lambda)時的語法錯誤?
eval("mult = lambda x,y: (x*y)")
我得到這是一個錯誤?這是怎麼回事?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
mult = lambda x,y: (x*y)
^
SyntaxError: invalid syntax
我在做什麼錯?如果我按原樣輸入表達式(沒有eval
),則不會出現錯誤,並且可以使用mult
來表達我心中的內容。
似乎是一個很大的努力,以動態地創建變量,今天的問題。我不記得需要以真實的代碼做這件事。 – 2011-06-16 06:25:53
我搞砸了一個寫得很差的Python後綴語言 – tekknolagi 2011-06-16 07:10:43
您可能會感興趣http://stackoverflow.com/questions/8696602/python-3-2-1-execx-y-sets-a-value-in -a-toy-example-but-in-the-full – 2012-01-16 05:09:45