首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >需要帮助--一个错误"TypeError:__init__()接受5个位置参数,但给出了6个

需要帮助--一个错误"TypeError:__init__()接受5个位置参数,但给出了6个
EN

Stack Overflow用户
提问于 2019-11-21 11:19:20
回答 2查看 6K关注 0票数 1

我刚刚开始进入课堂,理解了基本概念,但是我不明白为什么它会给我带来这个错误。

我的代码:

代码语言:javascript
运行
复制
import pygame

pygame.init()
screen = pygame.display.set_mode((400, 300))
done = False

while not done:

        for event in pygame.event.get():

                if event.type == pygame.QUIT:
                        done = True

        class shape():
            def __init__(self, place, colour, x, y):
                self.place = place
                self.colour = colour
                self.x = x
                self.y = y

        class rectangle(shape):
            def __init__(self, place, colour, x, y, length, width):
                super().__init__(self, place, colour, x, y)

                self.length = length
                self.width = width

                pygame.draw.rect(screen, colour, pygame.Rect(x, y, lenght, width))





        Rectangle = rectangle(screen, (0, 128, 255), 30, 30, 60, 60)

        pygame.display.flip()

我收到的错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "Pygame.py", line 34, in <module>
    Rectangle = rectangle(screen, (0, 128, 255), 30, 30, 60, 60)
  File "Pygame.py", line 23, in __init__
    super().__init__(self, place, colour, x, y)
TypeError: __init__() takes 5 positional arguments but 6 were given

我不知道为什么它会出现错误,因为我正在创建一个“矩形”对象。我找到了一些例子,它们似乎和我的一样。

EN

回答 2

Stack Overflow用户

发布于 2019-11-21 11:28:57

问题出现在super().__init__(self, place, colour, x, y)上。

您正在尝试调用您扩展的类的初始化程序,但是您的rectangle类没有扩展任何类,这意味着super()正在寻找一些您无法控制的内置类。

既然你说你从一个例子中学到了这一点,我猜你错过了扩展一个类的机会。

要使脚本正常工作,可以删除对super().__init__...的调用

票数 1
EN

Stack Overflow用户

发布于 2019-11-21 11:46:12

我也面临着同样的问题,iam使用python2.7.x。我直接用类名解决了这个问题。这是Python扩展-使用超级Python 3和Python 2的解释

尝尝这个

代码语言:javascript
运行
复制
shape.__init_(self,place, colour, x, y)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58973743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档