版本簿记是在进口之前还是之后进行的?

时间:2015-05-17 20:38:07

标签: python mercurial

我希望在我承诺使用Mercurial的一些python脚本中使用版本记录。

我打算按照https://www.python.org/dev/peps/pep-0008/#version-bookkeeping中的说明进行操作,但我不确定是否

  

在任何其他代码之前,由上方和下方的空行分隔。

表示进口前。可以?我问,因为一些进口似乎必须放在​​最开始,例如:

from __future__ import print_function, division, absolute_import, unicode_literals

1 个答案:

答案 0 :(得分:0)

  

这些行应包含在模块的文档字符串之后,任何其他代码之前,由上方和下方的空行分隔。

import语句是代码。您可以将它们放在try / except语句中以捕获ImportError,并且不太常见它们可以在函数和类语句中使用。所以这是在模块docstring之后和导入之前。

  

我在问,因为有些进口似乎必须放在​​最开始[...]

__future__语句不是(只是)普通代码。编译器(而不是解释器)和have to come before you start assigning variables or importing other modules

可以理解它们
  

未来声明必须出现在模块顶部附近。唯一的   可以出现在未来声明之前的行是:

     
      
  • 模块docstring(如果有),
  •   
  • 注释,
  •   
  • 空行,
  •   
  • 其他未来的陈述。
  •   

因此,如果您的版本控制crud是注释,则可以将其放在future语句之前。但如果它是一个真正的变量,那就必须追求它。