您的位置:首页 > 编程语言 > Python开发

input()与raw_input()的区别-Python学习

2012-07-15 23:37 387 查看
今天在看《byte of python》的过程中敲完书中的例子,最终发现不能运行。用input()读入参数的时候始终不对。上网查了一下,才明白input()读入控制台输入信息对有格式的要求,输入字符串的时候必须加双引号才能正确读入,否则始终显示 xxx is not defined。

于是上网Google了一下,原来还有raw_input()这一方法,看了一些网上的文章,大体上理解input()与raw_input()方法的区别。

两个方法的主要区别如下:

input()就是将读入的数据默认为python expression(即控制台输入的时候必须用引号,否则会报错),数字输入直接返回对应的数值类型;

raw_input()则是将输入全部以字符串形式返回。

根据文档的解释,input()其实用通过raw_input()实现的,具体代码如下

def input(prompt):
return eval(raw_input(prompt))


eval的作用就是对表达式求值。所以用input()读入输入的表达式会进行计算,比如“57 + 3” 会计算结果得到60,而raw_input()则返回“57 + 3”。

今天先将内容写完,明天忙完了闲下来再根据实际的例子进行详细的研究。

一般进行控制台输入的时候,都用raw_input()。

参考文章:http://www.pythonclub.org/python-basic/input

http://www.cnblogs.com/lovedboy/articles/2461068.html

http://blog.csdn.net/eben86/article/details/2932583
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: