init中的python pep8类已导入但未使用

2024-06-28 18:47:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用pythonflake8库在python中执行PEP8检查。我在子模块中的__init__.py文件中有一个import语句,如下所示:

from .my_class import MyClass

我在init文件中有这一行的原因是,我可以从子模块中导入MyClass作为from somemodule import MyClass,而不必编写from somemodule.my_class import MyClass

我想知道是否可以在纠正PEP8违规的同时维护此功能?


Tags: 模块文件frompyimport功能initmy
2条回答

这实际上不是违反PEP8。我只是这么做:

from .my_class import MyClass  # noqa

编辑:另一种可能是使用__all__。在这种情况下,flake8了解发生了什么:

from .my_class import MyClass

__all__ = ['MyClass',]

根据PEP 8,您应该在^{}中包含MyClass,这也将修复导入但未使用的问题:

To better support introspection, modules should explicitly declare the names in their public API using the __all__ attribute.

相关问题 更多 >