Ответ 1
Ваш метод worker
нуждается в "я" в качестве параметра, поскольку это метод класса, а не функция. Добавление этого должно заставить его работать нормально.
Я пытаюсь реализовать подкласс и выдает ошибку:
TypeError: worker() takes 0 positional arguments but 1 was given
class KeyStatisticCollection(DataDownloadUtilities.DataDownloadCollection):
def GenerateAddressStrings(self):
pass
def worker():
pass
def DownloadProc(self):
pass
Ваш метод worker
нуждается в "я" в качестве параметра, поскольку это метод класса, а не функция. Добавление этого должно заставить его работать нормально.
Если метод не требует self
в качестве аргумента, вы можете использовать декоратор @staticmethod
, чтобы избежать ошибки:
class KeyStatisticCollection(DataDownloadUtilities.DataDownloadCollection):
def GenerateAddressStrings(self):
pass
@staticmethod
def worker():
pass
def DownloadProc(self):
pass
См https://docs.python.org/3/library/functions.html#staticmethod
Вы забыли добавить self
в качестве параметра в функцию worker()
в классе KeyStatisticCollection
.
class KeyStatisticCollection(DataDownloadUtilities.DataDownloadCollection):
def GenerateAddressStrings(self):
pass
def worker(self):
pass
def DownloadProc(self):
pass
Убедитесь, что из метода с именем method_a() вы вызываете метод с тем же именем method_a (with_params), вызывающий рекурсию