input()函数会把你输入的东西当做Python代码进行处理,这样做会有安全问题。
看python input的文档,可以看到input其实是通过raw_input来实现的,原理很简单,就下面一行代码:
def input(prompt):
return (eval(raw_input(prompt)))
当输入为纯数字时
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会。
如输入 “57 + 3”:
input会得到整数60
raw_input会得到字符串”57 + 3”
raw_input()更符合用户的输入方式