undefined-local-with-import-star-usage (F405) 未定义局部变量但使用了星号导入
派生自 Pyflakes 代码检查器。
作用
检查可能未定义的名称,但也可能在通配符导入中定义。
为什么这不好?
通配符导入(例如,from module import *
)使得难以确定当前命名空间中可用的符号。如果一个模块包含通配符导入,并且当前命名空间中的一个名称尚未明确定义或导入,那么不清楚该名称是未定义的还是通过通配符导入导入的。
如果该名称是通过通配符导入定义的,则应显式导入该成员以避免混淆。
如果该名称不是在通配符导入中定义的,则应定义或导入它。
示例
建议改为