为什么 Python 3 统计模块有 collections 模块作为子模块?
Why does Python 3 statistics module have the collections module as submodule?
检查 statistics
模块,Python 将 collections
模块列为其子模块之一:
>>> import statistics
>>> 'collections' in dir(statistics)
True
此外,collections
子模块实际上是标准 Python collections
模块:
>>> import collections
>>> collections == statistics.collections
True
为什么会这样?
它没有任何子模块。 collections
是 导入的 。导入模块会将对它的引用添加到全局命名空间。来自 statistics
module source:
import collections
模块也是对象,存储在 sys.modules
结构中,模块全局变量中的名称只是对它们的引用。所以不仅collections == statistics.collections
是真的,collections is sys.modules['collections']
.
也是
这不是 "submodule",statistics
只是 using collections
:
table = collections.Counter(iter(data)).most_common()
检查 statistics
模块,Python 将 collections
模块列为其子模块之一:
>>> import statistics
>>> 'collections' in dir(statistics)
True
此外,collections
子模块实际上是标准 Python collections
模块:
>>> import collections
>>> collections == statistics.collections
True
为什么会这样?
它没有任何子模块。 collections
是 导入的 。导入模块会将对它的引用添加到全局命名空间。来自 statistics
module source:
import collections
模块也是对象,存储在 sys.modules
结构中,模块全局变量中的名称只是对它们的引用。所以不仅collections == statistics.collections
是真的,collections is sys.modules['collections']
.
这不是 "submodule",statistics
只是 using collections
:
table = collections.Counter(iter(data)).most_common()