将 __all__ 放在 Python 文件中的什么位置?

Int*_*rer 3 python readability pep8 code-readability flake8

我想知道,Python 文件中的标准位置是__all__什么?

我的假设直接在导入语句下方。但是,我在任何地方都找不到明确说明/询问的内容。那么,一般来说,应该放__all__哪里呢?

它会放在下面的示例文件中的什么位置?

#!/usr/bin/env python3

"""Where to put __all__."""


from time import time


# I think it should go here: __all__ = ["Hello", "Hello2"]


SOME_GLOBAL = 0.0


class Hello:
    def __init__(self):
        pass


class Hello2:
    def __init__(self):
        pass


if __name__ == "__main__":
    pass

Run Code Online (Sandbox Code Playgroud)

先感谢您!

Sha*_*ger 10

根据PEP 8

模块级“dunders”(即名称具有两个前缘和两个纵下划线),例如__all____author____version__等应被放置在模块文档字符串之后,但在除了从任何导入语句__future__进口。

因此,如果您严格遵循 PEP 8,那么您就很接近了。在实践中,并没有严格遵守。一了Python的“包括电池”模块定义__all__的进口后,所以你的做法是完全正常的。