是否存在 input() 优于 sys.stdin.readline() 的情况?
Is there any situation when input() is preferred over sys.stdin.readline()?
在 Python 中,我们有两种广泛使用的获取用户输入的方法。第一个 input() 方法和第二个 readline() 方法定义为 sys.stdin.readline()。我想知道是否存在 input() 方法优于 readline() 方法的情况。
据我了解,readline() 比 input() 快。这两个 return 字符串值,我们必须根据需要对它们进行类型转换。还有一个 readlines() 方法可以读取多行的用户输入。从用户读取多行时使用 readlines() 是否更好?
input() 方法不需要任何导入,而 readline() 需要导入 sys.stdin。 input() 仍然较慢。这是否意味着导入所需的时间可以忽略不计?
TLDR 速度不是一个因素。
如果您的程序设计为从标准输入读取数据,例如 Unix 过滤器,您将不会使用 input
,但您会使用 sys.stdin
的方法,正是因为您有不同的方法来匹配您程序的数据流。
另一方面,如果您的程序旨在与用户交互,那么 input
显然 是可行的方法。因为程序的速度不是两个调用速度的无穷小差异,而是用户交互的速度和可选提示字符串提供的额外便利是 非常强大 中的参数赞成 input
.
在 Python 中,我们有两种广泛使用的获取用户输入的方法。第一个 input() 方法和第二个 readline() 方法定义为 sys.stdin.readline()。我想知道是否存在 input() 方法优于 readline() 方法的情况。
据我了解,readline() 比 input() 快。这两个 return 字符串值,我们必须根据需要对它们进行类型转换。还有一个 readlines() 方法可以读取多行的用户输入。从用户读取多行时使用 readlines() 是否更好?
input() 方法不需要任何导入,而 readline() 需要导入 sys.stdin。 input() 仍然较慢。这是否意味着导入所需的时间可以忽略不计?
TLDR 速度不是一个因素。
如果您的程序设计为从标准输入读取数据,例如 Unix 过滤器,您将不会使用 input
,但您会使用 sys.stdin
的方法,正是因为您有不同的方法来匹配您程序的数据流。
另一方面,如果您的程序旨在与用户交互,那么 input
显然 是可行的方法。因为程序的速度不是两个调用速度的无穷小差异,而是用户交互的速度和可选提示字符串提供的额外便利是 非常强大 中的参数赞成 input
.