【问题标题】:Is there any situation when input() is preferred over sys.stdin.readline()?是否存在 input() 优于 sys.stdin.readline() 的情况?
【发布时间】:2019-12-23 13:27:27
【问题描述】:

在 Python 中,我们有两种广泛使用的方法来获取用户输入。第一个 input() 方法和第二个 readline() 方法定义为 sys.stdin.readline()。我想知道是否存在 input() 方法优于 readline() 方法的情况。

据我了解,readline() 比 input() 快。这两个都返回字符串值,我们必须根据需要对它们进行类型转换。还有一个 readlines() 方法可以读取多行的用户输入。从用户读取多行时使用 readlines() 更好吗?

input() 方法不需要任何导入,而 readline() 需要导入 sys.stdin。仍然 input() 较慢。这是否意味着导入所需的时间可以忽略不计?

【问题讨论】:

  • "还是 input() 比较慢" 即使是这样,你觉得它慢了多少
  • 理论上我知道 input() 比较慢。我不知道多少,如果我这样做了,我就不会首先问这个问题。欢迎任何帮助。

标签: python input stdin readline readlines


【解决方案1】:

TLDR 速度不是一个因素。

如果你的程序被设计为从标准输入读取数据,比如 Unix 过滤器,你不会使用input,但你会使用sys.stdin 的方法,因为你有不同的方法 来匹配你程序的数据流。

另一方面,如果您的程序旨在与用户交互,那么input显然是可行的方法。因为程序的速度不是两次调用速度上的微小差异,而是用户交互的速度和可选提示字符串提供的额外便利是一个 very strong 支持@的论据987654324@.

【讨论】:

    猜你喜欢
    • 2016-04-19
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    相关资源
    最近更新 更多