【发布时间】:2019-02-27 11:41:06
【问题描述】:
首先是我的目录结构:
Root
- models
car.py
__init__.py
hello.py
在__init__.py里面我有以下内容:
__all__ = ["car"]
在hello.py 中,我尝试从模型文件夹中导入所有内容:
from models import *
car = Car()
这给了我错误:
Traceback (most recent call last):
File "hello.py", line 4, in <module>
car = Car()
NameError: name 'Car' is not defined
我做错了什么?
【问题讨论】:
-
FWIW 我通常建议避免导入
*。从来没有必要,"explicit is better than implicit"。这也是PEP 8 给出的建议:“应避免通配符导入 (from <module> import *),因为它们会让人不清楚命名空间中存在哪些名称,从而使读者和许多自动化工具感到困惑。”
标签: python python-3.x package python-module python-3.7