Python面向对象编程之Zope.interface安装使用( @implementer)implements
一、接口簡述
在我們所熟知的面向?qū)ο缶幊陶Z言中,大多提供了接口(interface)的概念。接口在編程語言中指的是一個抽象類型,是抽象方法的集合;它的特點(diǎn)如下:
1、類通過繼承接口的方式,來繼承接口的抽象方法;
2、接口并不是類(雖然編寫類和方法的方式很相似);
3、類描述對象的屬性和方法(實(shí)現(xiàn)接口的類,必須實(shí)現(xiàn)接口內(nèi)所描述的所有方法,否則必須聲明為抽象類);
4、接口包含類要實(shí)現(xiàn)的方法(接口無法被實(shí)例化,但可以被實(shí)現(xiàn));
總結(jié):接口只定義規(guī)范,不負(fù)責(zé)具體實(shí)現(xiàn)(具體實(shí)現(xiàn)由具體的實(shí)現(xiàn)者完成)!
?
二、python中的interface
python中也有interface的概念,但是python其本身不提供interface的實(shí)現(xiàn),需要通過第三方擴(kuò)展庫來使用類似interface的功能,一般都是Zope.interface。
PyPI地址:Zope.inter
或者通過pip命令行進(jìn)行安裝,示例如下:
如上圖所示:zope.interface下載成功后提示我pip版本較低,然后升級pip到最新版本,升級成功后zope.interface就安裝成功了,接下來使用即可。
官方文檔:Zope.interface
?
三、zope.interface_demo.py
# coding=utf-8 from zope.interface import Interface from zope.interface.declarations import implementer# 定義接口 class MyMiss(Interface):def imissyouatlost(self,miss):"""Say i miss you at lost to miss"""@implementer(MyMiss) # 繼承接口 class Miss:def imissyouatlost(self,somebody):"""Say i miss you at lost to somebody"""return "i miss you at lost, %s!" % somebodyif __name__ == '__main__':z = Miss()hi = z.imissyouatlost('Zy')print(hi)PS:該例子適用于python3,更多關(guān)于zope.interface的內(nèi)容,請參考zope.interface源碼!
總結(jié)
以上是生活随笔為你收集整理的Python面向对象编程之Zope.interface安装使用( @implementer)implements的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python实现FTP服务器和客户端
- 下一篇: Python zmq 讲解