微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试实现抽象方法时,进程已完成,退出代码为 -1073741571 (0xC00000FD)

如何解决尝试实现抽象方法时,进程已完成,退出代码为 -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 举报,一经查实,本站将立刻删除。