首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nltk时。在nltk函数之前

使用nltk时。在nltk函数之前
EN

Stack Overflow用户
提问于 2018-11-08 04:51:53
回答 1查看 89关注 0票数 2

我刚接触python并使用nltk,所以实际上我有一个非常基本的问题,但在任何地方都找不到答案。

我想知道什么时候在nltk模块的函数之前使用nltk.。我正在做一些任务,在某些情况下,它不使用它就可以工作,而在一些情况下,它没有使用它。(在示例中,我只编写了导入的内容和最后的命令)。

示例1:

代码语言:javascript
复制
import nltk 
print (FreqDist(words).most_common(10))

这一切都运行得很好。

示例2:

代码语言:javascript
复制
import nltk
import math

print (FreqDist(words).most_common(10))

给出一个错误消息

代码语言:javascript
复制
NameError                                 Traceback (most recent call last)
<ipython-input-21-e68f77c40897> in <module>()
----> 1 print (FreqDist(file_words).most_common(10))

NameError: name 'FreqDist' is not defined

如果我在FreqDist之前插入nltk,它就会起作用

代码语言:javascript
复制
print (nltk.FreqDist(words).most_common(10))

因为我导入了两个模块,所以在第二个示例中没有nltk.它就不能工作了吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-11-08 15:39:21

引用自import this

名称空间是一个非常棒的想法--让我们做更多的工作吧!

来自Wikipedia

通常在导入模块时,模块中定义的名称是通过该模块的名称空间定义的,并通过使用完全限定名称从调用模块访问。

例如,在Python中,而不是:

代码语言:javascript
复制
import nltk
nltk.pos_tag(nltk.word_tokenize('This is a sentence.'))

您可以导入,执行以下操作:

代码语言:javascript
复制
from nltk import word_tokenize, pos_tag
pos_tag(word_tokenize('This is a sentence.'))

回到这个问题上,上面的某个地方应该是这样导入的FreqDist

代码语言:javascript
复制
from nltk import FreqDist

这样您就可以在没有“完全限定”nltk.FreqDist的情况下看到FreqDist

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53197625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档