eval的功能是去掉字符串最外侧的引号之后,执行余下语句。
所以 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