从wxpython想到的


               
昨晚在看“http://www.pythontik.com/blog/default.asp?cateID=5”上面的文章时被一段话吸引了
1.2.2 使用应用程序和框架工作
一旦你导入了wx模块,你就能够创建你的应用程序 (application)对象和框架(frame)对象。每个wxPython程序必须有一个application对象和至少一个frame对象。 application对象必须是wx.App的一个实例或你在OnInit()方法中定义的一个子类的一个实例。当你的应用程序启动的时候, OnInit()方法将被wx.App父类调用。
那怎么让他实现呢,今天看那个继承部分于是自己写了一个helloworld。
class a(object):
    def __init__(self):
        print 'a init() called'
        self.a1()
    def a1(self):
        print 'a a1() called'
class b(a):
    def a1(self):
        print 'b b1() called'
>>> aa=a()
a init() called
a a1() called
        
>>> bb=b()
a init() called
b b1() called
另外发现:
对象方法(绑定)对于类而言也可以调用,但是必须手动传递self参数。
比如上面的例子中
a.a1(aa)是合法的。但是我们必须手动的传递一个对象参数。
而如果
aa.a1().则系统自动将自身传递给a1函数。
所以类a的__init__函数中的
self.a1()不能改成
self.al(self) #报错
a.a1(self) #无错误,但是无法达到预期效果,因为将a1钉死拉。