标签:abc 原因 功能 2.x 需要 技术 分享 turn python2.x
使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的
当输入为纯数字时:
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会
input其实是通过raw_input来实现的
def input(prompt):
return (eval(raw_input(prompt)))
另外raw_input() 直接读取控制台的输入(任何类型的输入它都可以接收)。而对于 input() ,它希望能够读取一个合法的 python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError
raw_inputA=raw_input("pls input sth:")
raw_inputA=raw_input("pls input sth:")
pls input sth:abc
inputA=input("pls input sth:")
返回NameError: name ‘aaa‘ is not defined
python2.x版本中有两个输入函数input()和raw_input(),而在python3.x版本中只有一个输入函数input(),它的功能就相当于python2.x中的raw_input()函数
除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互
print "pls input figure: "
num=input()
pls input figure:
01223454
pls input figure:
0987
File "<string>", line 1
0987
^
SyntaxError: invalid token
出现错误原因是因为input()中的eval(),而且eval()有安全漏洞。input()会把你输入的东西当做 Python 代码进行处理。
标签:abc 原因 功能 2.x 需要 技术 分享 turn python2.x
原文地址:http://www.cnblogs.com/sjfgod/p/7504731.html