input関数

input関数は

eval(raw_input(prompt))

と定義されているらしい。
Pythonコード入力されたら超危険・・・。苦笑
Pythonの入門サイトで良くinput使ってるところを見かけるが。。。


[追記]
IronPythonで書いてみた。

>>> data = [ 1, 2, 3, 4 ]
>>> def hoge() :
...     a = input( "user name : " )
...     print a
...
>>> hoge()
user name : map( lambda x: x*x, data )
[1, 4, 9, 16]

"map( lambda x: x*x, data )"の部分がユーザの入力。
僕が初耳だっただけで,evalされるってことはPythonユーザの中では常識なのかな?
(良く見るinputのサンプルでは注意書きとか何も無いけど・・・)