python pep8 class 在 init 中已导入但未使用
python pep8 class in init imported but not used
我正在 python 使用 python flake8 库进行 PEP8 检查。我的一个子模块中的 __init__.py
文件中有一个 import 语句,如下所示:
from .my_class import MyClass
我在 init 文件中有这一行的原因是我可以从子模块导入 MyClass 作为 from somemodule import MyClass
而不必写 from somemodule.my_class import MyClass
.
我想知道是否可以在纠正 PEP8 违规的同时保持此功能?
这实际上并不是 PEP8 违规行为。我只是这样做:
from .my_class import MyClass # noqa
编辑:另一种可能性是使用__all__
。在那种情况下,flake8 明白发生了什么:
from .my_class import MyClass
__all__ = ['MyClass',]
根据 PEP 8, you should include MyClass
in __all__
,这也将解决 imported-but-not-used 问题:
To better support introspection, modules should explicitly declare the
names in their public API using the __all__ attribute.
根据 flake8's documention,您可以在线忽略此特定警告:
from .my_class import MyClass # noqa: F401
供参考,这里是 flake8 的 error codes。
我正在 python 使用 python flake8 库进行 PEP8 检查。我的一个子模块中的 __init__.py
文件中有一个 import 语句,如下所示:
from .my_class import MyClass
我在 init 文件中有这一行的原因是我可以从子模块导入 MyClass 作为 from somemodule import MyClass
而不必写 from somemodule.my_class import MyClass
.
我想知道是否可以在纠正 PEP8 违规的同时保持此功能?
这实际上并不是 PEP8 违规行为。我只是这样做:
from .my_class import MyClass # noqa
编辑:另一种可能性是使用__all__
。在那种情况下,flake8 明白发生了什么:
from .my_class import MyClass
__all__ = ['MyClass',]
根据 PEP 8, you should include MyClass
in __all__
,这也将解决 imported-but-not-used 问题:
To better support introspection, modules should explicitly declare the names in their public API using the __all__ attribute.
根据 flake8's documention,您可以在线忽略此特定警告:
from .my_class import MyClass # noqa: F401
供参考,这里是 flake8 的 error codes。