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("Enter your name:")
Enter your name:123
>>> user
‘123‘
>>> user = input("Enter your name,please!")
Enter your name,please!4
>>> user
4
>>> user = input("Enter your name,please!")
Enter your name,please!"scr"
>>> user
‘scr‘
>>> user = input("Enter your name,please!")
Enter your name,please!scr

Traceback (most recent call last):
File "<pyshell#67>", line 1, in <module>
user = input("Enter your name,please!")
File "<string>", line 1, in <module>
NameError: name ‘scr‘ is not defined
>>>

总结:

raw_input更符合用户输入的习惯,把任何用户输入都转换成字符串存储,在需要其它类型的数据时,调用相应的函数进行转换;
input用户输入什么就存储什么,所以用户输入必须符合python语法要求,否则会出错,例如

>>> user = input("Enter your name,please!")
Enter your name,please!scr

Traceback (most recent call last):
File "<pyshell#67>", line 1, in <module>
user = input("Enter your name,please!")
File "<string>", line 1, in <module>
NameError: name ‘scr‘ is not defined
>>>
时间: 2024-11-10 07:45:02

python input 与raw_input函数的区别的相关文章

私 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

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()

使用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()的区别

区别嘛,就是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用法及区别

input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它. 不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users. 除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 r

python中方法与函数的区别与联系

今天huskiesir在对列表进行操作的时候,用到了sorted()函数,偶然情况下在菜鸟教程上看到了内置方法sort,同样都可以实现我对列表的排序操作,那么方法和函数有什么区别和联系呢? 如下是我个人总结: 1.调用的方式不一样:函数:通过"函数名()"的方式调用方法:通过"对象.方法名"的方式调用 2.作用域不一样:函数内出现的有关计算.赋值等操作,在函数运行完之后里面的结果不会保留方法则是实实在在影响到当前环境 3. 在实例化中 class Foo(objec

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

python笔记之列表函数和方法使用举例

在学习列表之前先了解了raw_input和input的区别:(仅适用于版本2,版本3中raw_input和input合并,没有raw_input) input的语法为:input("str"). raw_input函数把所有的输入当做原始数据保存为字符串格式: 而input默认用户输入为python的合法格式,用于字符串连接时有一定的局限性. 1.序列索引 python中序列索引有两种表达形式: (1)第一个元素索引是0,第二个是1,以此类推: (2)最后一个元素索引是-1,倒数第二个

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

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