class Foo(object): def exec(self): raise NotImplementedError('請實現exec方法') class A(Foo): pass obj=A() obj.exec()
類A繼承類Foo,因而擁有類Foo的所有屬性。類A實例化一個對象obj,obj調用exec()方法,如果類A自己沒有定義exec方法,就會拋出異常。
from abc import abstractmethod,ABCMeta class Foo(metaclass=ABCMeta): @abcstractmethod def exec(self): pass class A(Foo): pass obj=A()
從abc模塊調用類abstractmethod和類ABCMeta,自己定義類Foo,繼承抽象類ABCMeta,在類Foo中定義exec方法,並添加裝飾器abcstractmethod。定義類A繼承類Foo,並實例化對象obj,類A中必須有類Foo中的方法否則就會拋出異常。