我在visualstudio代码中使用pep8,我只是试图编写一些抽象类。在
问题是我得到了错误[pylint] E1101:Instance of 'MyAbstract' has no 'child_method' member
,因为pep8没有意识到该方法定义良好,而是在子类中。在
为了说明我的问题,这里有一个代码片段,为了清晰起见,它被简化为最小值:
class MyAbstract:
def some_method(self):
newinfo = self.child_method()
# use newinfo
class MyChild(MyAbstract):
def child_method(self):
# Do something in a way
class OtherChild(MyAbstract):
def child_method(self):
# Do the same thing in a different way
所以我的问题是:
澄清
MyAbstract类不应实例化,子类将继承some_method
。我们的想法是在子类实例上使用它。在
如果您希望} 模块中表达的方法:
MyAbstract
是一个具有抽象方法child_method
的抽象类,Python有一种在^{您的linter将不再抱怨不存在的方法,作为额外的好处,Python将检测到用未实现的抽象方法实例化类的尝试。在
相关问题 更多 >
编程相关推荐