读取键盘输入
许多程序是交互式的。 支持交互性意味着你有一个根据输入内容以不同方式运行的程序。 向程序输入数据的通常是人,但也可以是另一个程序。 有许多种方法可将输入发送到程序;两种常见方法是通过图形界面或控制台。
用户输入
为了读取键盘输入,Python 提供了 input()
函数。 input()
可读取用户在键盘上键入的内容并将其作为字符串返回。 以下示例将 input()
和 print()
相结合,以捕获人名,然后将其显示在屏幕上:
name = input('Enter your name:')
print(name)
作为参数传递到 input
函数的字符串是用户将看到的提示。 在此示例中,你将要求用户键入其姓名(“输入你的姓名”)。 用户键入姓名并按 Enter 后,input
函数将返回。 函数的返回值是用户键入的文本,该文本会分配给名为 name
的变量。 然后 name
变量将用作 print
函数的输入或参数,该函数会输出用户输入的姓名。
还可以在不使用参数的情况下调用 input
函数:
print('What is your name?')
name = input()
print(name)
此程序的行为几乎与第一个程序的行为相同。 不同之处在于 print
(默认)在输出后会进行换行。
读取数字作为输入
input
函数始终以字符串(文本)的形式返回键入值。 此选项是有意义的,因为用户可以根据需要输入任何值。 即使该输入是有效数字,它仍会作为字符串类型从 input
函数返回。 例如:
x = input('Enter a number: ')
print(type(x))
运行此代码并输入值“5”,即使值本身是数值,结果也将显示 <class 'str'>
。 若要将值转换为真正的整数变量,可以使用 int()
函数:
x = int(input('Enter a number: '))
print(type(x))
此代码将为值“5”输出 <class 'int'>
。 如果需要小数部分,可以采用相同的方式使用 float
函数。
重要
如果输入不是数值,却将它传递到 int()
函数,会出现什么情况? 如你所预期的,这会发生错误并导致运行时故障。 程序将在该语句处结束;你可以在 Python 交互式控制台中动手试一试。 我们将在以后的模块中介绍处理此类错误的多种解决方案。
将数字转换为字符串
你也可以选择反向转换。 str()
方法将获取整数或浮点值并将其转换为字符串。 如果希望下面的代码示例正常运行,则需要调用 str()
方法。 转换确保将字符串形式的整数连接到左侧的字符串。
x = 5
print('The number is ' + str(x))