2024-04-24 07:11:12 发布
网友
假设我有一个文件夹结构,如下所示
project/ -> app/ --> __init__.py (has db = SQLAlchemy(app)) --> model.py
我需要在model.py中导入db。我可以使用
from app import db
或
from . import db
这两者有区别吗?一种方法比另一种方法有什么优势吗
绝对进口是首选,因为它们非常明确和直接。只需查看语句,就可以很容易地确定导入的资源的确切位置。事实上,pep8明确建议绝对导入
但是,根据目录结构的复杂性,有时绝对导入可能会变得非常冗长。想象一下有这样一句话:
from package1.subpackage2.subpackage3.subpackage4.module5 import function6
这看起来很可笑!对吧?
因此,相对进口成为可能。相对导入指定要相对于当前位置(即导入语句所在的位置)导入的资源
上述复杂导入语句变为:
from ..subpackage4.module5 import function6
希望这有帮助
绝对进口是首选,因为它们非常明确和直接。只需查看语句,就可以很容易地确定导入的资源的确切位置。事实上,pep8明确建议绝对导入
但是,根据目录结构的复杂性,有时绝对导入可能会变得非常冗长。想象一下有这样一句话:
这看起来很可笑!对吧?
因此,相对进口成为可能。相对导入指定要相对于当前位置(即导入语句所在的位置)导入的资源
上述复杂导入语句变为:
希望这有帮助
相关问题 更多 >
编程相关推荐