【问题标题】:Multiple aliases on one-line Python import单行 Python 导入的多个别名
【发布时间】:2016-04-07 15:43:27
【问题描述】:

我可以在 Python 中导入模块并在一行中给它两个或多个别名吗?

两行代码就可以了:

from time import process_time as tic
from time import process_time as toc

这不起作用,但我希望能够写出类似的东西:

from time import process_time as tic,toc

【问题讨论】:

  • 你能解释一下你为什么要这样做吗?总的来说,这听起来是一个相当糟糕的主意,没有任何好处。你有合法的用例吗?
  • @smci 我想他们正试图从他们更熟悉的语言(matlab、R 等)中模仿 tictoc,其中存在具有这些名称的函数来测量经过的时间。
  • @coldspeed: 但tictoc 是不同的东西,它们不是同一个别名。 tic:启动计时器并将开始时间和消息存储在堆栈上。 toc 注意当前计时器,计算匹配调用 tic() 以来经过的时间;当 quiet 为 FALSE 时,打印相关的消息和经过的时间。我担心这个问题的措辞比“如何将 process_time 的多个别名声明为 tic, toc?” 其他人可能会得出结论,这通常是一件好事和健康的事情。
  • 这个问题是关于 a)一般情况如何以及是否为导入创建多个别名(绝对是个坏主意)或 b)只是 OP 尝试使用多个别名来制作的非常具体的情况代码表面上看起来像tic/toc 的原始 R/Matlab? (仍然不是一个好主意 - 只需学习 Python 等价物)?

标签: python import alias


【解决方案1】:

你可以这样做

from time import process_time as tic, process_time as toc

【讨论】:

  • 感谢 Francesco,这就是我想要的。但是我认为两行解决方案更具可读性。
【解决方案2】:

你可以的

from time import process_time as tic

toc = tic

【讨论】:

  • 这是最好的。它非常明确地表明它是一个别名。
猜你喜欢
  • 1970-01-01
  • 2019-08-11
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 2019-09-26
  • 1970-01-01
相关资源
最近更新 更多