[python语法语义] 新手求教关于super的问题
dieslrae
2011-09-18
用的2.7.1,照着书上写了一段代码
class A: def fnA(self): print 'A' class B(A): def fnA(self): super(B,self).fnA() print 'B' b = B() b.fnA() 然后报一个这个异常,表示看不懂啊 Traceback (most recent call last): File "<pyshell#96>", line 1, in <module> b.fnA() File "<pyshell#92>", line 3, in fnA super(B,self).fnA() TypeError: must be type, not classobj 求高手们指教,难道super不是这样用的? |
|
weiertzw
2011-09-21
class A(object):
def fnA(self): print 'A' class B(A, object): def fnA(self): super(B,self).fnA() print 'B' b = B() b.fnA() >>>A >>>B ---------------------- PYTHON里的SUPER只能用在新式类中,不能用于以前的经典类,如果基类是经典类则会出这个错。 |
|
dieslrae
2011-09-21
weiertzw 写道 class A(object):
def fnA(self): print 'A' class B(A, object): def fnA(self): super(B,self).fnA() print 'B' b = B() b.fnA() >>>A >>>B ---------------------- PYTHON里的SUPER只能用在新式类中,不能用于以前的经典类,如果基类是经典类则会出这个错。 能多解释下新式类和经典类么? |
相关讨论
相关资源推荐
- pyqt qtabwidget关闭_QTabwidget新手求教
- 新手求教可能是空指针异常问题
- 求教关于聊天界面开发中出现的问题
- android运行不出来,新手求教,没有任何报错,就是运行不出来
- 新手学java 问题求教!!
- java paint方法哪个周期调用_新手求教,java 这个函数public void paint( Graphics g) 是什么时候调用的?...
- 10个迷惑新手的Cocoa,Objective-c开发难点和问题
- 新手提问 想要做一个单机android应用,要实现注册登录功能。目前折在了连数据库这一步上,也不知道自己这么做对不对,哪儿错了。求教求教!
- 【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑
- 静态变量、实例变量初始化时机,以及子类隐藏父类成员时,创建子类对象的一些问题...