跳到内容

undefined-local-with-nested-import-star-usage (F406) 未定义局部变量但使用了嵌套的星号导入

派生自 Pyflakes 代码检查器。

作用

检查在模块命名空间之外是否使用了通配符导入。

为什么这不好?

在模块命名空间之外(例如,函数内部)使用通配符导入可能会导致混淆,因为导入可能会遮蔽局部变量。

尽管PEP 8不鼓励使用通配符导入,但在必要时,应将其放置在模块命名空间中(即,在模块的顶层)。

示例

def foo():
    from math import *

建议改为

from math import *


def foo(): ...