如果我从文件导入所有类/函数,Python“import *”会不好?

Python, is “import *” bad if I am importing all classes / functions from a file?

本问题已经有最佳答案,请猛点这里访问。

我听说"进口*"被认为是不好的做法。

例如,在Django应用程序中,我创建了5个模型,每个模型都需要一个管理页面,这是否仍然被认为是我的admin.py文件中的坏做法?

1
from myapp.models import *

编辑:这是我自己的代码,我知道我想从文件中导入所有内容。


对。问题是,将来可能会添加更多的代码,这些代码可能会导致意外的问题,例如命名冲突。

我通常会选择:

1
2
from myapp.models import MyModel
from myapp.models import MySecondModel

另一种选择是:

1
from myapp.models import (MyModel, MySecondModel)

编辑:

正如@kalhartt所指出的,你也可以简单地做到。

1
from myapp import models

如果需要导入很多类,那么可以使用models.MyModel等。