前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python:TypeError: mu

python:TypeError: mu

作者头像
py3study
发布2020-01-07 16:36:24
6010
发布2020-01-07 16:36:24
举报
文章被收录于专栏:python3

 今天遇到这个错误:

Traceback (most recent call last):

  File "t2.py", line 14, in <module>

    print Derived().meth()

  File "t2.py", line 10, in meth

    super(Derived,self).meth()

TypeError: must be type, not classobj

试验代码如下:

代码语言:javascript
复制
class Base():     def meth(self):         print "i'm base"  class Derived(Base):     def meth(self):         super(Derived,self).meth()         print "this is derived"  print Derived().meth() 

google了下,发现原因是:

super只能用于python的新类中,如果基类是经典类,则会报这个错。

新类和经典类又是什么呢?

新类:所有类都必须要有继承的类,如果什么都不想继承,就继承到object类。

经典类:什么都不用继承的类,如上面的代码就是经典类。所以报错。

代码语言:javascript
复制
class Base(object):     def meth(self):         print "i'm base" 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档