现在的位置: 首页 > 编程语言 > 正文

Python中input()和raw_input()函数的比较与应用

2020年05月11日 编程语言 ⁄ 共 792字 ⁄ 字号 暂无评论

通过例子来了解 input() 和 raw_input() 的区别及用法,在脚本中输入下面的代码:

name = input("What's your name?")
print "Hello, " + name + "!"

输出后显示如下:

What's your name?Chai
Traceback (most recent call last):
File "ex.py", line 1, in
name = input("What's your name?")
File "", line 1, in
NameError: name 'Chai' is not defined

虽然看上去是完全合法的程序,结果却无法输出。问题在于 input() 会假设用户输入的是合法的 Python 表达式(或多或少有些与repr函数相反的意思)。试着以带引号的字符串形式 "Chai" 重新输入,显示输出成功。

What's your name?"Chai"
Hello ,Chai!

对于 input() ,它希望能够读取一个合法的 Python 表达式,即你输入字符串的时候必须使用引号将它括起来,否则它会引发一个 SyntaxError 。

因此,要求用户必须带着引号输入他们的内容显得有些过分,这时就需要使用 raw_input() 函数,它会把所有的输入当作原始数据(raw data),然后将其放进字符串中。接下来使用一个 raw_input() 的例子:

print "How much do you weigh?",
weight = raw_input()
print "So,you are", weight, "heavy."

>>
How much do you weigh? 80kg
So,you are 80kg heavy.

最终的输出内容非常顺利。所以,除非对 input() 确实有特殊需要,否则一般情况下都会推荐使用 raw_input() 来与用户进行交互操作。

来源于:https://chaishiwei.com/blog/169.html

抱歉!评论已关闭.