对statistics
模块进行了反思,Python将collections
模块列为其中一个子模块:
>>> import statistics
>>> 'collections' in dir(statistics)
True
此外,collections
子模块实际上是标准的Python collections
模块:
>>> import collections
>>> collections == statistics.collections
True
为什么会出现这种情况?
答案 0 :(得分:3)
它没有任何子模块。 collections
已导入。导入模块会将对它的引用添加到全局命名空间。来自statistics
module source:
import collections
模块也是对象,存储在sys.modules
结构中,模块全局变量中的名称只是对它们的引用。因此,不仅collections == statistics.collections
是真的,collections is sys.modules['collections']
也是如此。
答案 1 :(得分:1)
它不是“子模块”,statistics
只是using collections
:
table = collections.Counter(iter(data)).most_common()