python3 的input函数功能详解

  • Post category:Python

Python3 的 input() 函数用于获取用户的输入。在程序运行时,该函数会暂停程序的执行并等待用户输入内容。用户在按下回车键后,程序继续执行,同时将用户输入的内容作为返回值返回。

该函数的基本语法为:

input(prompt)

其中,prompt 是可选的字符串参数,用于在等待用户输入时向用户展示提示信息。若省略该参数,则程序会直接等待用户直接输入。例如,以下代码会让用户输入自己的名字,并输出 “Hello, [name]!” 的问候语:

name = input("What's your name? ")
print(f"Hello, {name}!")

运行该代码,程序会输出如下的提示信息:

What's your name?

在该行后输入任意字符串,按下回车键,程序才会继续执行。例如,输入字符串 John,程序会输出如下的结果:

Hello, John!

当然,我们可以忽略 prompt 参数,如下所示:

name = input()
print(f"Hello, {name}!")

此时,程序运行后会直接等待用户输入,没有任何提示信息。

在实际的应用场景中,我们常常需要对用户的输入进行处理,例如进行类型转换、判断输入是否合法等。以下是两个实际应用场景。

实例1:获取数字输入

我们可以使用 input() 函数获取用户输入的数字,然后将其转化为 Python 的 int 或 float 类型。以下代码会让用户输入一个数字并输出其平方:

num = float(input("Please enter a number: "))
square = num ** 2
print(f"The square of {num} is {square}.")

在该代码中,我们使用了 float() 函数将用户输入的字符串转换为浮点数(Python3 中, input() 函数返回的始终是字符串类型)。然后,我们定义了一个新变量 square,该变量表示用户输入数字的平方。最后,我们使用 print() 函数输出平方的结果。

实例2:获取密码输入

在实际应用中,我们常常需要要求用户输入密码、PIN 码等敏感信息,因此该信息不能直接以明文形式显示在终端中。为了保护用户的隐私,我们可以使用 Python 标准库 getpass 中的 getpass() 函数来获取类似密码的输入。以下代码会要求用户输入一个密码,并将其打印到终端上:

import getpass

password = getpass.getpass("Please enter your password: ")
print(f"Your password is {password}.")

在该代码中,我们首先导入 getpass 标准库,然后使用 getpass.getpass() 函数获取密码输入。该函数的作用与 input() 类似,但是在用户输入时并不会在终端中显示字符。最后,我们使用 print() 函数输出获取到的密码。

以上就是 Python3 input() 函数的功能详解。