【问题标题】:TypeError: get_members() takes 2 positional arguments but 3 were given (I actually gave 2)TypeError: get_members() 接受 2 个位置参数,但给出了 3 个(我实际上给了 2 个)
【发布时间】:2022-01-19 21:07:09
【问题描述】:

我正在制作一个机器人,它有一个名为get_members() 的方法,它需要两个参数self and client。我提供了两个参数,但它仍然说我提供了 3 个参数。

客户端参数也显示警告Unexpected Argument

堆栈跟踪

Traceback (most recent call last):
  File "C:\Users\Vinesh\Documents\GitHub\DMBot\lib\scraper.py", line 18, in fetch
    self.scrape()
  File "C:\Users\Vinesh\Documents\GitHub\DMBot\lib\scraper.py", line 14, in scrape
    self.scraped = self.get_members(self, client)
TypeError: get_members() takes 2 positional arguments but 3 were given

During handling of the above exception, another exception occurred:

【问题讨论】:

标签: python discord bots discum


【解决方案1】:

self 不能被你传递。它由 Python 隐式传递。

self.get_members(client)

【讨论】:

    【解决方案2】:

    你在调用方法时传递了self参数,python已经确认了self参数,你不需要再次传递,所以你的代码应该是:

    self.scraped = self.get_members(client)
    

    如果您的客户在您的班级内,您需要将 self 参数传递给您的客户。所以你的代码将是:

    self.scraped = self.get_members(self.client)
    

    【讨论】:

      【解决方案3】:

      你必须删除第一个参数self,因为get_members已经是一个方法,self在你调用它的时候已经隐式传递了,所以你需要这样做:self.get_members(client)

      【讨论】:

        猜你喜欢
        • 2021-02-02
        • 2020-03-27
        • 2022-01-19
        • 2017-02-18
        • 2021-01-22
        • 2020-05-23
        • 2020-01-06
        • 2019-04-29
        • 1970-01-01
        相关资源
        最近更新 更多