Python 中的“import *”导入是什么以及它与 __init__.py 有何关系?
Python 中的“import *” " 语句将指定模块中的所有非私有(即不以下划线开头)符号导入到当前模块中。这允许直接访问导入的符号,而无需使用模块名称前缀。
“import *”是否导入 __init__.py?
不,“import *”语句不会自动导入在包含文件夹中找到的 __init__.py 文件。 __init__.py 是一个特殊文件,Python 在导入模块时使用它来初始化模块。要显式导入 __init__.py,必须使用带有模块名称的“import”语句,如下所示:
from project.model import __init__
“import *”的优点和缺点:
“import *”的主要优点是方便一次导入所有符号。但是,通常不鼓励这种做法,因为:
首选实践:
建议不要“导入*”,而是仅导入您需要的特定符号。这可以使用以下任一方法来完成:
显式导入:
from math import pi
模块别名:
import math as m
子模块和“import *”:
当模块包含子模块时,“import *”不会不导入这些子模块,除非它们明确包含在主模块的 all 属性中module.
结论:
虽然“import *”很方便,但通常不鼓励显式导入或模块别名。 __init__.py 是一个用于初始化模块的特殊文件,必须使用“import”语句单独导入。
以上是在Python中'import *”是否导入__init__.py?的详细内容。更多信息请关注PHP中文网其他相关文章!