如何调用具有self作为参数的函数?

时间:2015-03-19 15:49:20

标签: python nltk

我发现一些在线代码可以帮助我完成我正在做的项目,问题是它使用了2个参数,其中一个是自己的。我不知道如何使用这样的功能,如果有人可以解释如何,我将非常感激。

这是代码

#code found online
def common_contexts(self, words, num=20):
    """
    Find contexts where the specified words appear; list
    most frequent common contexts first.

    :param word: The word used to seed the similarity search
    :type word: str
    :param num: The number of words to generate (default=20)
    :type num: int
    :seealso: ContextIndex.common_contexts()
    """
    if '_word_context_index' not in self.__dict__:
        #print('Building word-context index...')
        self._word_context_index = ContextIndex(self.tokens,
                                                key=lambda s:s.lower())

    try:
        fd = self._word_context_index.common_contexts(words, True)
        if not fd:
            print("No common contexts were found")
        else:
            ranked_contexts = [w for w, _ in fd.most_common(num)]
            print(tokenwrap(w1+"_"+w2 for w1,w2 in ranked_contexts))

    except ValueError as e:
        print(e)
#How I tried to call it, lines[1] is an array containing words
df=common_contexts(lines[1])
print(df)

我只是想查看输出,以便我可以判断是否可以在我的项目中使用此代码

1 个答案:

答案 0 :(得分:3)

这是方法。您正在查看source code for nltk.text,这是ContextIndex.common_contexts()

您需要创建ContextIndex类的实例,然后调用该方法:

ci = ContextIndex(tokens)
df = ci.common_contexts(lines[1])

然后common_contexts 绑定ci实例。然后调用该方法会导致 Python self参数提供值;调用该方法的实例。