Python格式:模块docstring和首次导入之间正确的空白行数是多少?

问题描述

我有一个简单的问题。想象一下,我有一个这样的Python文件

#!/usr/bin/env python3

"""Module docstring."""


import os


print(os.name)

模块docstring和第一次导入之间应该有多少空行?

PEP 8似乎没有提及任何内容。我认为答案是一两个空白行。

是否有特定原因需要使用一两行空白?这里有公认的最佳做法吗?


我的想法

按照PEP 8的Module Level Dunder Names部分,间距似乎为一行。也许这就是要走的路。

解决方法

它应该是第一次导入之前的一个空白行,而其他组导入之间的一个空白行。如果最后一次导入后的代码是一个函数,则放置两行空白行;否则为空行。