用户输入

互动输入

要从用户那里获得输入,请使用 input 函数( 注意 :在 Python 2.x 中,该函数被称为 raw_input,尽管 Python 2.x 有自己的 input 版本完全不同):

Python 2.x >= 2.3

name = raw_input("What is your name? ")
# Out: What is your name? _

安全性备注不要在 Python2 中使用 input() - 输入的文本将被评估为 Python 表达式(相当于 Python3 中的 eval(input())),这可能很容易成为漏洞。有关使用此功能的风险的详细信息,请参阅此文章

Python 3.x >= 3.0

name = input("What is your name? ")
# Out: What is your name? _

本示例的其余部分将使用 Python 3 语法。

该函数接受一个字符串参数,该参数将其显示为提示并返回一个字符串。上面的代码提供了一个提示,等待用户输入。

name = input("What is your name? ")
# Out: What is your name?

如果用户键入 Bob 并按下 enter 键,变量 name 将被分配给字符串 Bob

name = input("What is your name? ")
# Out: What is your name? Bob
print(name)
# Out: Bob

请注意,input 始终为 str 类型,如果你希望用户输入数字,这一点非常重要。因此,你需要在尝试将其用作数字之前转换 str

x = input("Write a number:")
# Out: Write a number: 10
x / 2
# Out: TypeError: unsupported operand type(s) for /: 'str' and 'int'
float(x) / 2
# Out: 5.0

注意:建议在处理用户输入时使用 try / except捕获异常 。例如,如果你的代码想要将 raw_input 转换为 int,并且用户所写的内容是无法播放的,那么它就会提出一个问题。