有人可以向我解释为什么我一直收到此错误:TypeError: get_n_nouns() takes 1 positional argument but 2 were given
。
通过查看类似问题(Link),我已经看过我的问题所在。但是我已经调整了我的代码以及答案,但我最终得到了上述错误。< / p>
以下是完整错误:
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()
有人可以向我解释我哪里出错了吗?非常感谢任何帮助。
答案 0 :(得分:3)
好的,我发现了错误的位置。有点菜鸟错误。
此:
def get_n_nouns(n):
需要写成:
def get_n_nouns(self, n):
我忘了添加self
部分。这就是我不断收到错误信息的原因。