用户输入
互动输入
要从用户那里获得输入,请使用 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
,并且用户所写的内容是无法播放的,那么它就会提出一个问题。