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

python中raw_input() 与 input()

2015-07-16 17:22 609 查看
参考网址:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1999283.html

在python中如何接收一个输入的字符串。

举个例子:

#coding=utf-8
#测试input 和 raw_input
x = input("please input :")
print x


运行:python 23.py

输入一个数字

please input :9
9


输入一个字符串

please input :aaa
Traceback (most recent call last):
File "23.py", line 3, in <module>
x = input("please input :")
File "<string>", line 1, in <module>
NameError: name 'aaa' is not defined


看到了吧,如果直接输入字符,会报错。那怎么解决这个问题呢?

需要把input 改成raw_input,修改后的代码是这样:

#coding=utf-8
#测试input 和 raw_input
x = raw_input("please input :")
print x


运行结果:

please input :aa
aa


input([prompt])

Equivalent to eval(raw_input(prompt))

input() 本质上还是使用 raw_input() 来实现的,只是调用完 raw_input() 之后再调用 eval() 函数,所以,你甚至可以将表达式作为 input() 的参数,并且它会计算表达式的值并返回它。

不过在 Built-in Functions 里有一句话是这样写的:Consider using the raw_input() function for general input from users.

除非对 input() 有特别需要,否则一般情况下我们都是推荐使用 raw_input() 来与用户交互。

raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( int, float )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: