为什么Nltk导入不需要完整的软件包路径

时间:2019-11-15 17:25:53

标签: python import nlp package nltk

我是nltk的新手,我注意到要创建一个lemmatizer对象(在导入nltk包之后),

WNlemma = nltk.WordNetLemmatizer

没有显式导入类WordNetLemmatizer

from nltk.stem import WordNetLemmatizer
WNlemma = WordNetLemmatizer

我们明确导入类WordNetLemmatizer的地方将起作用。

我知道两者都引用了WordNetLemmatizer包中的类nltk.stem.wordnet,但是为什么在导入时却没有像第一个实例和第二个实例那样声明完整的模块路径,这甚至是“合法的” ?是一些nltk约定还是一般的python东西?如何找到包WordNetLemmatizer中的类wordnet?仅基于我对python导入的浅浅了解

from nltk.stem.wordnet import WordNetLemmatizer

为我看起来“合法” ...

我已经搜索了周围,但是找不到任何解释此问题的文档,也许是我搜索了错误的关键字。 这可能是一个菜鸟问题,如果不清楚,请指出,谢谢任何想帮助我的人!

1 个答案:

答案 0 :(得分:0)

此约定必须减少您编写的代码量。您可以查看nltk/__init__.pyhttps://github.com/nltk/nltk/blob/develop/nltk/init.py)为何起作用:WNlemma = nltk.WordNetLemmatizer