python使用super()出现错误解决办法
作者:lqh 发布时间:2021-05-01 02:48:48
标签: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):
来源:http://www.jianshu.com/p/2bc52dbf24b4


猜你喜欢
- <?php //本功能主要是利用文件修改时间函数filemtime与现在时间作减法判断是否更新内容。 $cahetime=2;//设置
- 导语每年的节假日一到,大家头疼的总时同一个问题:你买到回家的票了吗?尤其是大型的节日:”比如国庆、春节......&am
- 在一篇文章中看到关于PHP引用的图解,对于加深对PHP引用的理解很有帮助,在这里备份一下。如果你对PHP的引用一点也不了解,可以先看我之前的
- 查询所有数据库的总大小方法如下:mysql> use information_schema;mysql> select conc
- 本篇将介绍如何使用 Docker 部署 MySQL 数据库及远程访问配置安装 MySQL拉取镜像使用下面的命令拉取 MySQL 数据库的镜像
- 本文实例讲述了C#操作SQLite数据库之读写数据库的方法。分享给大家供大家参考,具体如下:这里演示读写数据库并在窗体(Form)中显示其数
- 前言最近将使用爬虫爬取的链接保存到 mysql 数据库中时,发现我将链接使用 json_encode 保存时候,在数据库中却显示了转义字符,
- 前面的话数组是一组按序排列的值,相对地,对象的属性名称是无序的。从本质上讲,数组使用数字作为查找键,而对象拥有用户自定义的属性名。javas
- 第一列按照goodsid局部分组,然后在分组后的记录中按照audittime升序排序得到序号,从而显示某商品得第几次变迁。 第二列是取该商品
- 一、Ajax简介Ajax被认为是(Asynchronous JavaScript and XML)的缩写,允许浏览器与服务器通信而无需刷新当
- 本文实例讲述了Python机器学习库scikit-learn安装与基本使用。分享给大家供大家参考,具体如下:引言scikit-learn是P
- 这个例子可作为一个模式,在你需要的时候套用。<!DOCTYPE HTML PUBLIC &q
- 先说迭代器,对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用it
- 上篇文章给大家介绍过解决Navicat for Mysql连接报错1251的问题(连接失败),今天介绍Navicat for MySQL 连
- 语音识别工作原理简介语音识别源于 20 世纪 50 年代早期在贝尔实验室所做的研究。早期语音识别系统仅能识别单个讲话者以及只有约十几个单词的
- 1 简介DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表。或许说它可能有点像matlab的矩
- 前言最近用Django写项目的时候用到了数据的传递,一窍不通,查了点资料。记录一下。水平不高,瓜不保熟。 从两方面来说:从后端传递
- 目标文件夹内有多份 Word 文件 ——【xxx涨薪通告.docx】,我们需要在这些文档的末尾处添加
- 目录1.一般的模型构造、训练、测试流程2.自定义损失和指标3.使用tf.data构造数据4.样本权重和类权重5.多输入多输出模型6.使用回
- 如下所示:#coding utf-8a=0.001 #定义收敛步长xd=1 #定义寻找步