2024-06-28 20:06:41 发布
网友
from abc import ABC, abstractmethod class Example(ABC): def smile(self): print("smile")
我的理解是Example在继承ABC{}时成为AbstractClass。无法实例化AbstractClass,但 以下代码执行时没有错误
Example
ABC
AbstractClass
example = Example()
虽然类中包含的方法(即smile)是具体的,但类确实是抽象的。您需要使用decorator @abc.abstractclass在抽象中创建方法。因此,如果将代码重写为:
smile
@abc.abstractclass
from abc import ABC, abstractmethod class Example(ABC): @abstractmethod def smile(self): print("smile") e = Example()
然后您将得到错误:
TypeError: Can't instantiate abstract class Example with abstract methods smile
虽然类中包含的方法(即
smile
)是具体的,但类确实是抽象的。您需要使用decorator@abc.abstractclass
在抽象中创建方法。因此,如果将代码重写为:然后您将得到错误:
相关问题 更多 >
编程相关推荐