Python接口html
在Python中所謂的接口,有兩種,一種是經過url訪問的api接口python
一種是一個對象的接口api
構造接口網站
class Ijiekou: """ 定義一個約束接口 """ def f1(self,nid): raise Exception('全部繼承此接口類的類必須實現(存在)f1方法') class oduixiang1(Ijiekou): """ 繼承接口實現了f1方法 """ def f1(self, nid): print(nid) class oduixiang2(Ijiekou): """ 繼承接口沒有實現f1方法 """ # 繼承接口實現了f1方法 obj1 = oduixiang1() obj1.f1(1) # 繼承接口沒有實現f1方法 obj2 = oduixiang2(抽象方法抽象類) obj2.f1(2) obj2.f1(2)
File "H:/shipbfq/22.py", line 10, in f1
raise Exception('全部繼承此接口類的類必須實現(存在)f1方法')
Exception: 全部繼承此接口類的類必須實現(存在)f1方法
抽象方法抽象類ui
抽象類與普通類的區別就是,抽象類裏能夠定義抽象方法,而抽象方法能夠作約束,凡是繼承抽象類、的類裏、必須實現(存在)抽象方法,不然報錯url
定義抽象類必須引入abc模塊spa
import abc class Ijiekou(metaclass=abc.ABCMeta): """ 定義抽象類必須設置metaclass=abc.ABCMeta """ def f1(self,nid): """ 普通方法 """ print(123) @abc.abstractmethod def f2(self): """ 抽象方法,設置抽象方法必須加裝飾器@abc.abstractmethod """ class oduixiang1(Ijiekou): """ 繼承抽象類 """ def f3(self, nid): print(nid) # def f2(self,nid): # """ # 繼承了抽象類,而抽象類裏有抽象方法,就必須實現抽象方法否則會報錯,(約束) # """ # print(456) # 繼承接口實現了f1方法 obj1 = oduixiang1() obj1.f1(1)
報錯code
E:\Evns\jxiou\Scripts\python.exe H:/shipbfq/22.py
Traceback (most recent call last):
File "H:/shipbfq/22.py", line 37, in <module>
obj1 = oduixiang1()
TypeError: Can't instantiate abstract class oduixiang1 with abstract methods f2htm