是否能够在 Python 中建立抽象类? - Is it possible to make abstract classes in Python?

2021年11月20日 阅读数:3
这篇文章主要向大家介绍是否能够在 Python 中建立抽象类? - Is it possible to make abstract classes in Python?,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

问题:

How can I make a class or method abstract in Python?如何在 Python 中抽象类或方法?url

I tried redefining __new__() like so:我试着像这样从新定义__new__()spa

class F:
    def __new__(cls):
        raise Exception("Unable to create an instance of abstract class %s" %cls)

but now if I create a class G that inherits from F like so:可是如今若是我建立一个从F继承的类G像这样:.net

class G(F):
    pass

then I can't instantiate G either, since it calls its super class's __new__ method.那么我也不能实例化G ,由于它调用了它的超类的__new__方法。code

Is there a better way to define an abstract class?有没有更好的方法来定义抽象类?继承


解决方案:

参考: https://stackoom.com/en/question/vG0j