我的问题是关于python中的主类

问题描述

在此链接中: https://github.com/SethHWeidman/DLFS_code/blob/master/03_dlfs/Code.ipynb 一些用于解释深度学习的代码。

我的问题是,为什么某些类中的某些方法没有针对它们的代码, 只是引发notimplementederror,然后在其他类中为它们编码?我们可以为它们编码之前,替换为写“ raise notimplementederror”吗?

解决方法

这些是基类。 基类在声明一些将由其子类实现的抽象方法的方式方面类似于接口,但是基类具有一些将被继承的实现的方法。不应该实例化基类,这就是为什么它们在抽象方法中引发NotImplemented错误的原因,因此您不得不不实例化它们。 如果您查看ParamOperation类,则该类继承自Operation,并且应该但不实现其抽象方法。那就是评论告诉你的。 创建基类的一种更Python化的方法是从ABCmeta继承基类,并在此仓库中使用@abstractmethod: https://gitlab.com/TuringFactory/tf_page/tf_backend/-/tree/dev/main/shared

您共享的存储库有点混乱,因为它没有在子类中实现抽象方法。我不推荐您将其用于学习本主题。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...