禁止模块级导入 (TID253)
派生自 flake8-tidy-imports linter。
作用
检查应延迟导入的模块级导入(例如,在函数定义中,或在 if TYPE_CHECKING:
代码块中,或某些其他嵌套上下文中)。
为什么这不好?
某些模块的导入成本很高。例如,导入 torch
或 tensorflow
可能会导致 Python 程序的启动时间出现明显的延迟。
在这种情况下,您可能希望强制模块根据需要进行延迟导入,而不是在文件顶部导入。这可能涉及将导入内联到使用它的函数中,而不是无条件地导入它,以确保仅在必要时才导入模块。
示例
建议改为