【python2.7】raw_input()和input()区别及用法
2014-03-06 23:39
661 查看
一、函数介绍
1. input([prompt])
等同于eval(raw_input([prompt])),这个函数不会捕捉用户输入上的错误,如果语法校验不通过会引发SyntaxError。在eval函数执行过程中也会跑出其他的异常。
在eval函数执行过程中也会抛出其他的异常;
还有一段相关于python readline()的解释,暂时没懂,o(╯□╰)o。
推荐接受用户输入的时候使用raw_input()
2. raw_input([prompt])
如果传了prompt参数,它会直接输出到屏幕上而不用再往下另起一行,如:
从输入中读取一行,将其转换成string类型,然后返回。当碰到EOF,会引发EOFerror。
二、相同点&区别
1. 相同点
都能接受字符串、表达式作为输入。
2. 区别
通过简介,二者的区别其实已经很清楚了:
a. 原理上input()是一个特殊的raw_input(),只是外层调用了eval()函数而已;
b. input()接受输入并计算,如果输入为字符串,进行到eval()处理的时候会将刚才输入的字符串当成是一个变量,请看:
我输入的字符串是a,而最后input()给我返回的是a的值,即为1
然而,raw_input()接受输入转换成string返回。
看看下面几个列子:
三、总结
总之,尽量使用raw_input()以避免一些不必要的事情发生。
1. input([prompt])
等同于eval(raw_input([prompt])),这个函数不会捕捉用户输入上的错误,如果语法校验不通过会引发SyntaxError。在eval函数执行过程中也会跑出其他的异常。
在eval函数执行过程中也会抛出其他的异常;
还有一段相关于python readline()的解释,暂时没懂,o(╯□╰)o。
推荐接受用户输入的时候使用raw_input()
2. raw_input([prompt])
如果传了prompt参数,它会直接输出到屏幕上而不用再往下另起一行,如:
从输入中读取一行,将其转换成string类型,然后返回。当碰到EOF,会引发EOFerror。
二、相同点&区别
1. 相同点
都能接受字符串、表达式作为输入。
>> raw_input(1>0) True >>> raw_input("input:") input:
2. 区别
通过简介,二者的区别其实已经很清楚了:
a. 原理上input()是一个特殊的raw_input(),只是外层调用了eval()函数而已;
b. input()接受输入并计算,如果输入为字符串,进行到eval()处理的时候会将刚才输入的字符串当成是一个变量,请看:
>>> a = 1 >>> input() a 1
我输入的字符串是a,而最后input()给我返回的是a的值,即为1
然而,raw_input()接受输入转换成string返回。
看看下面几个列子:
# 输入纯字符串 >> input() iaminput Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'iaminput' is not defined >>> raw_input() iaminput 'iaminput' # 输入表达式 >>> a = input() 1+1 >>> print a,type(a) 2 <type 'int'> >>> b = raw_input() 1+1 >>> print b,type(b) 1+1 <type 'str'>
三、总结
总之,尽量使用raw_input()以避免一些不必要的事情发生。
相关文章推荐
- 【python2.7】raw_input()和input()区别及用法
- 【python2.7】raw_input()和input()区别及用法
- Python2.7中input和raw_input函数有什么区别
- Python 中 input()用法 以及与raw_input() 的区别
- python中input和raw_input用法及区别
- python中input和raw_input用法及区别
- python input 与raw_input函数的区别
- raw_input()和input()的区别与Python的引用类型转换
- python中input()和raw_input()的区别
- python中raw_input() 与 input() 的区别
- python的raw_input与print的区别实例
- python 内置函数 input() 和 raw_input() 的区别?
- python input函数和raw_input函数的区别
- Python里raw_input() 与 input() 区别
- Python input和raw_input的区别
- python中input和raw_input区别(原创)
- Python中raw_input() 与 input() 的区别
- python2.x中raw_input()和python3.x中input()的区别
- raw_input() 与 input() __ Python 的区别
- Python 之 raw_input()与input()区别