将__all__放置在Python文件中?

问题描述 投票:2回答:2

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

我的假设在import语句的正下方。但是,我在任何地方都找不到明确声明/提出的要求。因此,通常,__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

谢谢您!

python pep8 readability code-readability flake8
2个回答
4
投票

PEP 8

模块级别的“ dunders”(即具有两个前导和两个尾随下划线的名称,例如__all____author____version__等,应放置在模块文档字符串之后,但除[C0之外]的任何导入语句之前]进口。

因此,如果您严格遵守PEP 8,那就太近了。实际上,严格遵守not。导入后,Python中的[[ton个“包含电池”模块定义了__future__,因此您的方法非常好。


1
投票
如上所述__all__

模块级别的“ dunders”(即具有两个前导和两个尾随下划线的名称,例如here__all____author__等,应放置在模块文档字符串之后,但除[C0之外]的任何导入语句之前]进口。 Python要求将来导入必须在模块中出现在除文档字符串之外的任何其他代码之前:
© www.soinside.com 2019 - 2024. All rights reserved.