频道栏目
首页 > 资讯 > Python > 正文

Python 调用super初始化报错 "super() argument 1 must be type, not classobj"

13-11-04        来源:[db:作者]  
收藏   我要投稿
在子类中调用super初始化时发生错误:其中FatherClass为超类,仔细检查并无语法错误。
 
 
super(FatherClass, self).__init__()  
Error: super() argument 1 must be type, not classobj 

 

 
原因如下:
 
在python2.2版本之前,直接调用超类的方法,后来改成通过super来调用,原因是为了解决多重继承中的钻石形状问题。python里的super只能用在新式类中,不能用于以前的经典类,如果基类是经典类则会出现这个错误。
 
解决的方法是FatherClass只要有一个超类是Object就OK了。
 
例如: class FatherClass(object):................
 
相关TAG标签
上一篇:并行计算实现判断一个数是不是素数--Win32和.Net两种方式结合
下一篇:MySQl学前知识储备
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站