【问题标题】:Correct terminology for Python importsPython 导入的正确术语
【发布时间】:2017-03-12 04:46:00
【问题描述】:

当我在 Python 中导入第三方代码时,正确的术语是什么?例如,在from collections import Counter 中,我叫什么collections,我叫什么Countercollections 是“模块”吗?那怎么叫Counter呢?

【问题讨论】:

  • 是的,collections 是一个模块。 Counter happens 是在 collections 模块中定义的一个类,但它可以是任何东西;您导入了它,因此已将一个新的全局名称添加到您的命名空间中,该名称是对该类的引用。

标签: python terminology


【解决方案1】:
from collections import Counter

这里,collections 确实是一个模块

Counter 是一个名称。它可以是一个类、函数或其他东西。它只是一个已命名的事物,而您正在将该名称带入您的全局命名空间。

在这种特殊情况下,Counter 是一个。它以大写字母开头的事实暗示了这一点。但是看看the documentation 可以肯定地告诉我们它是一个类。

所以我们可以在这里说我们“从collections 模块导入Counter 类”。

【讨论】:

  • 那你怎么称呼“柜台”呢?你说,“从集合 module 我导入 name 计数器?”
【解决方案2】:

collections 是模块的名称,Counter 是从该模块导入的给定对象的名称。从英文你可以猜到from xxx import yyy是什么意思。

【讨论】:

  • 好的,谢谢。所以你说,从集合 module 我导入 object Counter?
  • 是的。你说得对。顺便说一句,这样的问题不是一个好地方。
  • 在 Python 中,一切都是对象,所以这在技术上是正确的。但是由于Counter 是一个类,所以将其称为对象听起来很愚蠢
  • 好的,我在哪里可以问这种问题?在元上?
  • 阅读一本关于 Python 编程基础的书。
【解决方案3】:

from collections import Counter 语句可以解释为 - collections 是您从中导入类、函数或变量的模块 Counter

【讨论】:

    猜你喜欢
    • 2012-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 2013-04-06
    • 2013-09-17
    • 2011-12-19
    • 1970-01-01
    • 2020-10-30
    相关资源
    最近更新 更多