在Python中为beginn编写的类

2024-04-26 18:34:28 发布

您现在位置:Python中文网/ 问答频道 /正文

你能帮我找出问题吗?运行的Python代码:

class ParamWindow:
    def __init__(self, b):
        self.a = b
        print self.a

params = ParamWindow(8)
print params.a

这是8和8。好 啊。然后我会:

^{pr2}$

它说“ParamWindow实例没有属性‘a’”。为什么没有呢?我告诉他self是帧,然后添加了一个字段“a”(在这一点上没有错误),但当我要求打印它(打印线错误)时,它忘记了“a”存在。。。 我哪里错了? 谢谢。在


Tags: 实例代码self属性initdef错误params
1条回答
网友
1楼 · 发布于 2024-04-26 18:34:28
def __init__(self, parent, b):
    self = wx.Frame(parent = parent, id=-1, title="Parameters")

在这里您重新分配self,因此您将不再引用ParamWindow实例!你不应该那样做!你想达到什么目的?在

^{pr2}$

在这里,您将a分配给self,它现在是Frame,而不是{}。ParamWindow.a永远不会被定义,稍后会出现错误。在

也许你想从^{继承?如果是这样,您的代码应该如下所示:

class ParamWindow(wx.Frame):
    def __init__(self, parent, b):
        # Initialize the superclass (wx.Frame).
        super(ParamWindow, self).__init__(parent=parent, id=-1, title="Parameters")
        self.a = b
        print self.a

相关问题 更多 >