如何解决尝试实现抽象方法时,进程已完成,退出代码为 -1073741571 (0xC00000FD)
我正在尝试使用 @abstractmethod
装饰器和子类来实现一个类。在我看到的例子中,abstractmethod 中总是只有单词 pass
来表示抽象类。然而,我想要做的是拥有一个实际上具有功能的抽象方法,但是在子类中分配了几个自由变量:
from abc import ABC,abstractmethod
class Animal(ABC):
def __init__(self,name=''):
self.name = name
@abstractmethod
def do_something(self,sound,move):
print('open mouth and ' + sound)
print('advance by ' + move)
class Dog(Animal):
def __init__(self,*args,**kwargs):
super().__init__(*args,**kwargs)
def do_something(self,**kwargs):
return self.do_something(self,sound='bark',move='moving legs')
如果我应用这个,我会得到:
MyDog = Dog('Charly')
MyDog.name
'查理'
到目前为止,一切都很好。
MyDog.do_something()
进程完成,退出代码 -1073741571 (0xC00000FD)
当然,我对抽象类的理解有问题(第一次这样做)。 有人可以向我解释发生了什么吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。