2010年9月27日月曜日

eval(), exec() 文字列をそのまま計算

evalで、文字列をそのまま、計算できる。しかし、プログラムを書く人から言わすと、「美しくない」らしい。(涙)
a=1
b=2
eval("a+b")
>> 3

代入は、execを使う。
exec("a=10")
a
>> 10

Compileに関しては、python3.0だけど、分かり易く、詳しく書いてある。
http://d.hatena.ne.jp/kotsubu-chan/20030331

eval(compile("3+4","","eval"))
>> 7