繁体   English   中英

类型错误:__init__() 需要至少 3 个参数(给出 2 个)

[英]TypeError: __init__() takes at least 3 arguments (2 given)

我是 Python 面向对象编程的新手 所以,我有这个代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import wx, pygame, sys, random, os
from pygame.locals import *
from random import choice
from block import O, I, S, Z, L, J, T

class Example(wx.Frame):


def __init__(self, parent, id, *args, **kwargs):
    super(Example, self).__init__(self, parent, id,*args, **kwargs)  
    self.InitUI()
    image_file = "roses.jpg"
    bmp1 = wx.Image(image_file, wx.BITMAP_TYPE_ANY).ConvertToBitmap()
    self.bitmap1 = wx.StaticBitmap(self, -1, bmp1, (0, 0))
[more stuffs...]

并且可以打开一个带有一些按钮和背景图像的窗口。 但是当我执行它时,它给了我一个错误:

File "C:\mytetris\aaa.py", line 472, in main
Example(None)
TypeError: __init__() takes at least 3 arguments (2 given)

所以请帮帮我...

我只能猜测

class Example(wx.Frame):
    def __init__(self, parent, id, *args, **kwargs):

Example需要至少 3 个参数selfparentid 对象名称作为self传递,因此您必须创建带有 2 个参数的对象 - 例如:

my_example = Example(some_parent, some_id)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM