首页 > 编程语言 > 详细

私 python input和raw_input的区别

时间:2017-09-11 14:54:42      阅读:249      评论:0      收藏:0      [点我收藏+]

使用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 代码进行处理。

私 python input和raw_input的区别

原文:http://www.cnblogs.com/sjfgod/p/7504731.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!