有人可以告诉我在我的__init__.py
包中使用这两者之间的差异吗?哪个更好用?
__all__ = ['functions']
from functions import *
答案 0 :(得分:0)
脚本bar__init__.py中可能的两个语句之间的区别是,bar下的子包或模块的导入范围。如果程序包栏中包含名为函数的子程序包,则该语句
从函数导入*
在bar__init__.py中的会将功能子包导入到bar包的范围内,可以使用参考
对其进行访问。bar.functions
导入bar的Python代码中的。如果bar__init__.py包含代码
所有 = [功能]
然后是包含该代码的Python代码
从栏导入*
会将子包定义为函数(不引用bar。)
这两种方法都可以用来引用子包函数的内容,但是语法不同。
答案 1 :(得分:-2)
print(len(globals()))
import sys
print(len(globals()))
from sys import *
print(len(globals()))
输出:
8
9
67