eval的功能是去掉字符串最外側的引號之后,執(zhí)行余下語句。
所以 eval ( "abc" ) 會直接提示 NameError: name 'abc' is not defined (去掉引號后的abc作為未定義變量運行導致出錯)
1.in:eval("1234")
1.out:1234
2.in:eval("12.34")
2.out:12.34
3.in:eval('1+2')
3.out:3
4.in:eval("'1+2'")
4.out:'1+2'
5.in:eval("print('Hello!')")
5.out:Hello!
6.in:T="Hello"
? ? ? ? ? eval('eval("print(T)")')?
6.out:Hello