使用通常不是一个好主意from module import *
。通配符导入会导致名称空间污染;您导入的名称超出了所需的数量,并且如果您不小心引用了导入的名称,则可能不会得到所需的NameError。
另外,如果库的未来版本添加了其他名称,则最终可能会 掩盖其他名称 ,从而仍然导致陌生的错误:
from foo import bar
from spam import *
如果您进行升级spam
并且现在包含,spam.bar
它将替换foo.bar
上一行中的导入。
在Python中,用通配符导入所有属性是一种好习惯吗?
使用通常不是一个好主意from module import *
。通配符导入会导致名称空间污染;您导入的名称超出了所需的数量,并且如果您不小心引用了导入的名称,则可能不会得到所需的NameError。
另外,如果库的未来版本添加了其他名称,则最终可能会 掩盖其他名称 ,从而仍然导致陌生的错误:
from foo import bar
from spam import *
如果您进行升级spam
并且现在包含,spam.bar
它将替换foo.bar
上一行中的导入。