我正在尝试以下功能:
x = eval(input())
输入为123并且x的类型也为int,它可以正常工作:
In [22]: x=eval(input("enter:"))
enter:123
In [24]: print(type(x))
但是,当将输入作为abcd输入时,它会引发错误:
In [26]: x=eval(input("enter:"))
enter:abcd
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
in ()
----> 1 x=eval(input("enter:"))
in ()
NameError: name 'abcd' is not defined
另外,当我将代码更改为:
x=eval('input()')
它工作正常:
In [27]: x=eval('input("enter:")')
enter:abcd
In [28]: print(x)
abcd
但是当给定输入为123时,x的类型为str而不是int:
In [30]: x=eval('input("enter:")')
enter:123
In [31]: print(type(x))