首页>Program>source

我正在尝试实现一个子类,它引发了错误:

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
最新回答
  • 2021-1-11
    1 #

    您的 worker 方法需要"自我"作为参数,因为它是类方法而不是函数.添加它应该可以正常工作。

  • 2021-1-11
    2 #

    如果该方法不需要 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

  • 2021-1-11
    3 #

    您忘记添加 self 作为函数 worker()的参数 在 KeyStatisticCollection班上

  • 2021-1-11
    4 #

    class KeyStatisticCollection(DataDownloadUtilities.DataDownloadCollection):
    def GenerateAddressStrings(self):
        pass    
    def worker(self):
        pass
    def DownloadProc(self):
        pass
    

  • 2021-1-11
    5 #

    检查名称为method_a()的方法是否调用了具有相同名称method_a(with_params)的方法,导致递归

  • 在没有return语句的情况下,javascript函数将返回什么?
  • Python保存到文件