私 python input和raw_input的区别

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

时间: 2024-11-04 09:57:07

私 python input和raw_input的区别的相关文章

Python input 和 raw_input的区别

转载[http://www.pythonclub.org/python-basic/input] 使用input 和 raw_input 都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的: 1. 当输入为纯数字输入时: input返回的是数值类型,如 int float raw_input返回的是字符串类型 2. 当输入字符串为表达式时: input会计算字符串中的数字表达式,而raw_input不会 如输入“57+3”: input会得整数60 raw_inpu

Python input()和raw_input()的区别

区别嘛,就是raw_input()随便输都是字符串,而input()必须按照Python的规则来~ raw_input() name=raw_input('输入姓名:') age=raw_input('输入年龄') 我们输入汉字的姓名和数字的年龄 输入姓名:许嵩 输入年龄:31 许嵩 31 ***Repl Closed*** 直接输,效果杠杠的~但是要注意哦,你的年龄的格式是string哦?? input() name=input('输入姓名:') age=input('输入年龄:') 我们还是

Python入门学习之input()与raw_input()的区别

登陆博客时才发现已经注册一年了,由于之前一直都没有打算从事软件开发行业,所以博客便被束之高阁,软件开发,对于我来说,是成长,更是磨炼.头脑风暴总是来去自由,记录灵感,与大家一起共享思维进步的成果. Python语言,很多人认为很简单,我也不否认,入门确实挺easy的,但是要达到精通,还是需要沉淀,积累.对于想学习Python的小伙伴来说,对于input()和raw_input()区别可能不是很清楚,也容易混淆,当然了,倘若你使用的是Python3.x版本,肯定就不用考虑什么input()与raw

python之input与raw_input的区别

input()与raw_input()其实都是让用户输入数据,当记录整数或浮点数时是没什么区别的,因为用户直接输入的原始数据直接就可以保存到变量中,例如: >>> i = input('i:') i:123 >>> print i 123 但是,当用户输入的是字符串时就有点小麻烦了,我们不能要求用户输入的字符串两边加上(' "),这样是不是用户体验太差了呢?例如: >>> s = input('s:') s:'abc' >>>

python input() 与raw_input()

使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的1:纯数字输入 当输入为纯数字时 input返回的是数值类型,如int,float    raw_inpout返回的是字符串类型,string类型 输入字符串为表达式 input会计算在字符串中的数字表达式,而raw_input不会. 如输入 "57 + 3": input会得到整数60    raw_input会得到字符串"57 + 3" weight

python input 与raw_input函数的区别

转自:http://blog.csdn.net/sruru/article/details/7790436 以前没有深入考虑过raw_input与input函数的区别,所以一直比较困惑,今天测试之后,有了较为深入了解,记录如下 >>> user = raw_input("Enter your name:") Enter your name:scr >>> user 'scr' >>> user = raw_input("E

Python 之 input 与 raw_input 的区别

input 接受合法的Python 表达式 raw_input 将所有的输入作为原始数据,将其放入字符串中 >>> name = input("what's your name ?") what's your name ? Yellow Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> name = input("

Python 笔记1 input 与raw_input

尝试写一个猜字游戏时,使用了raw_input()作为输入. 代码如下. think = 53guess = raw_input("Guess what I think\n") while True: if guess > think: print "It's too big." guess = raw_input("Guess one more time.\n") if guess < think: print "It's

Python2input和raw_input和区别和Python3input的区别

Python2 input 和raw_input的区别 input 用户交互输入数据字符串的时候需要加双引号 用户输入数据的时候输入的是干什么类型就是什么类型 如,用户输入name则是变量类型 用户输入"name"则是字符串类型 用户输入"123"则是数字类型 raw_input 用户交互数据数据的时候不需要加双引号 用户输入数据的时候默认是字符串类型 Python2和Python3的区别 Python3没有raw_input,只有Input Python3的inp