对于我来说,在相当长的代码中,我忘记了括号 创建类的实例时的类,例如
index = UnicodeIndex
这导致了类似的奇怪错误
TypeError: find_description() missing 1 required positional argument: 'query'
index.find_description(查询) 其中find_description是UnicodeIndex类的方法
花了我几个小时才能找到问题的原因(以下示例) 说明):
class Noinit:
def __init__(self, chars):
self.chars = chars
def find_chars(self, char):
return char in self.chars
>>> n=Noinit
>>> n.find_chars('c')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: find_chars() missing 1 required positional argument: 'char'
请帮助我了解原因之间的联系(使用 类,而不是类实例)和结果, 调用方法的“缺少位置参数”错误。
我有一个非常模糊的想法,因为没有实例化该类,所以在调用方法并将提供的参数用作一个从而占用所有位置参数的情况下,该类不应为self