繁体   English   中英

为什么我不断收到位置参数错误?

[英]Why do I keep getting a positional argument error?

有人可以向我解释为什么我不断收到此错误: TypeError: get_n_nouns() takes 1 positional argument but 2 were given

我已经通过查看类似的问题( 链接)了解了我的问题可能出在哪里,但是我已经根据答案调整了我的代码,但最终还是出现了上述错误。

这是完整的错误:

Traceback (most recent call last):
  File "C:/Users/...../Downloads/Comp4.1/trialTo3.py", line 21, in <module>
    app.createPhrases()
  File "C:/Users/...../Downloads/Comp4.1/trialTo3.py", line 15, in createPhrases
    words = self.get_n_nouns(1)
TypeError: get_n_nouns() takes 1 positional argument but 2 were given

这是代码:

import csv

class apps():
    def get_n_nouns(n):
        """
        Returns the n most common nouns
        """
        with open("setPhrases.txt") as in_file:
            reader = csv.reader(in_file)
            data = [[row[0], int(row[1])] for row in list(reader)]

        return sorted(data, key=lambda x: -x[1])[:n]

    def createPhrases(self):
        words = self.get_n_nouns(1)
        for word, count in words:
            print("{}: {}".format(word, count))


app = apps()
app.createPhrases()

有人可以向我解释我哪里出错了吗? 任何帮助深表感谢。

好的,所以我发现了错误所在。 有点菜鸟错误。

这个:

def get_n_nouns(n):

需要这样写:

def get_n_nouns(self, n):

我忘了给它添加self部分。 这就是为什么我不断收到该错误消息的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM