python:面向对象编程之Zope.interface安装使用
2024-10-14 00:41:23
持续学习python+django中。。。
一、接口简述
在我们所熟知的面向对象编程语言中,大多提供了接口(interface)的概念。接口在编程语言中指的是一个抽象类型,是抽象方法的集合;它的特点如下:
1、类通过继承接口的方式,来继承接口的抽象方法;
2、接口并不是类(虽然编写类和方法的方式很相似);
3、类描述对象的属性和方法(实现接口的类,必须实现接口内所描述的所有方法,否则必须声明为抽象类);
4、接口包含类要实现的方法(接口无法被实例化,但可以被实现);
总结:接口只定义规范,不负责具体实现(具体实现由具体的实现者完成)!
二、python中的interface
python中也有interface的概念,但是python其本身不提供interface的实现,需要通过第三方扩展库来使用类似interface的功能,一般都是Zope.interface。
PyPI地址:Zope.inter
或者通过pip命令行进行安装,示例如下:
如上图所示: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!" % somebody if __name__ == '__main__':
z = Miss()
hi = z.imissyouatlost('Zy')
print(hi)
PS:该例子适用于python3,更多关于zope.interface的内容,请参考zope.interface源码!
最新文章
- 解决某些Android Permission denied
- POJ2010 Moo University - Financial Aid(二分法)
- PS------“窗口” ->; ";扩展功能";使用方法
- 关闭Eclipse的控制台console自动跳出
- 常用IT类英文词汇 - 1
- Spring 复习笔记01
- JAVA EE 第一阶段考试
- jquery 清空动态append添加元素,remove方法
- OC-nonatomic和atomic相关
- 微信前端面试题----js实现LazyMan
- 看过WWDC2017的闲谈
- 201521123042 《Java程序设计》第3周学习总结
- Grafana+Prometheus系统监控之webhook
- ScheduledThreadPoolExecutor详解
- 【自然语言处理篇】--Chatterbot聊天机器人
- EF 底层封装方法(供参考)
- JavaScript代码优化
- [C++]PAT乙级1012.数字分类 (20/20)
- SpringBoot 调用 mysql存储过程的实战
- [HEOI2012]采花 BZOJ2743
热门文章
- Windows下git设置代理服务器
- 30.Odoo产品分析 (四) – 工具板块(2) – 搜索和仪表盘(2)
- 常用的JVM调优参数总结汇总【随时查阅学习】
- 自动化测试 接口自动化及UI自动化测试平台设计演示
- Android为TV端助力 很详细的序列化过程Parcelable
- git 入门教程之本地仓库
- 基于OpenSSL的HTTPS通信C++实现
- 开发新手最容易犯的50个 Ruby on Rails 错误(1)
- Multiple Server Query Execution报The result set could not be merged..
- C语音输出前100个回文素数,每行10个,适当对齐