当前位置: 首页 > 编程笔记 >

python使用super()出现错误解决办法

姬奇思
2023-03-14
本文向大家介绍python使用super()出现错误解决办法,包括了python使用super()出现错误解决办法的使用技巧和注意事项,需要的朋友参考一下

python使用super()出现错误解决办法

当我们在python的子类中调用父类的方法时,会用到super(),不过我遇到了一个问题,顺便记录一下。

比如,我写了如下错误代码:

class A():
  def dosomething(self):
    print "It's A"

class B(A):  
  def dosomething(self):    
    super(B, self).dosomething()

if __name__ == '__main__':  
  b = B()  
  b.dosomething()

输出报错:

TypeError: must be type, not classobj

google之后发现,python在2.2前后有新式类(new-style class)与旧式类(old-style class)的区别,我上面的例子为旧式类,而super关键字必须作用于新式类。

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

所以,解决此错误必须将A类改为class A(object):

以上就是python super()使用遇到问题的解决办法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

 类似资料:
  • 本文向大家介绍python出现"IndentationError: unexpected indent"错误解决办法,包括了python出现"IndentationError: unexpected indent"错误解决办法的使用技巧和注意事项,需要的朋友参考一下 python出现"IndentationError: unexpected indent"错误解决办法 Python是一种对缩进非常

  • 本文向大家介绍Android 出现:java.lang.NoClassDefFoundError...错误解决办法,包括了Android 出现:java.lang.NoClassDefFoundError...错误解决办法的使用技巧和注意事项,需要的朋友参考一下 今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的

  • 本文向大家介绍Android webveiw 出现栈错误解决办法,包括了Android webveiw 出现栈错误解决办法的使用技巧和注意事项,需要的朋友参考一下 Android webveiw 出现栈错误解决办法 前言: 最近做一个项目,项目调试基础库的一个调试工具展示设备信息页面使用WebView。有一个应用集成调试基础库展示内容时出现 因为应用是系统级别的,在AndroidManifest.

  • 本文向大家介绍Redis 出现错误1067的解决办法,包括了Redis 出现错误1067的解决办法的使用技巧和注意事项,需要的朋友参考一下 Redis 出现错误1067的解决办法 一、问题描述: 在Windows启动Redis服务时,发生如下错误:       在Windows CMD命令行启动时提示: 二、解决方案: 产生这个问题(Redis服务无法启动)的原因是因为在配置文件(redis.wi

  • 本文向大家介绍PHP Curl出现403错误的解决办法,包括了PHP Curl出现403错误的解决办法的使用技巧和注意事项,需要的朋友参考一下 自己用的小PHP应用,使用curl抓网页下来处理,为了穿墙方便,使用Privoxy作为代理,便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题,访问google baidu这些网站居然都返回403错误,而访问其他的一些网站没事,如果设置为不

  • 本文向大家介绍Python出现segfault错误解决方法,包括了Python出现segfault错误解决方法的使用技巧和注意事项,需要的朋友参考一下 本文分析了Python出现segfault错误解决方法。分享给大家供大家参考,具体如下: 最近python程序在运行过程中偶尔会引发系统segfault的错误,而且是在不定期不同代码段时发生的,所以单步调试没办法确定是哪一行代码的问题。 段错误,