什么是接口 ?

接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能。

遵循:开放封闭原则,依赖导致原则,接口隔离原则,继承多态。

编程思想:为子类做规范; 归一化设计:几个类都实现了相同的方法
 抽象类:最好单继承,且可以简单的实现功能,接口类:可以多继承,且最好不实现具体功能

在python中接口由抽象类和抽象方法去实现,接口是不能被实例化的,只能被别的类继承去实现相应的功能。

个人觉得接口在python中并没有那么重要,因为如果要继承接口,需要把其中的每个方法全部实现,否则会报编译错误,还不如直接定义一个class,其中的方法实现全部为pass,让子类重写这些函数。

方法一:用抽象类和抽象函数实现方法(适用于单继承)

#抽象类加抽象方法就等于面向对象编程中的接口
from abc import ABCMeta,abstractmethodclass interface(object):__metaclass__ = ABCMeta #指定这是一个抽象类@abstractmethod  #抽象方法def Lee(self):passdef Marlon(self):passclass RelalizeInterfaceLee(interface):#必须实现interface中的所有函数,否则会编译错误def __init__(self):    print '这是接口interface的实现'def Lee(self):print '实现Lee功能'        def Marlon(self):pass   class RelalizeInterfaceMarlon(interface): #必须实现interface中的所有函数,否则会编译错误def __init__(self):    print '这是接口interface的实现'def Lee(self):pass      def Marlon(self):print "实现Marlon功能"

方法二:用普通类定义接口(推荐)

class interface(object): #假设这就是一个接口,接口名可以随意定义,所有的子类不需要实现在这个类中的函数def Lee(self):,passdef Marlon(self):passclass Realaize_interface(interface):def __init__(self):passdef Lee(self):print "实现接口中的Lee函数"class Realaize_interface2(interface):def __init__(self):passdef Marlon(self):print "实现接口中的Marlon函数"obj=Realaize_interface()
obj.Lee()obj=Realaize_interface2()
obj.Marlon()

python如何实现接口?相关推荐

  1. 浅谈python+requests实现接口自动化

    前言 今年2月调去支持项目接口测试,测试过程中使用过postman.jmeter工具,基本能满足使用,但是部分情况下使用较为麻烦. 比如:部分字段存在唯一性校验或字段间有业务性校验,每次请求均需手工修 ...

  2. Python面向对象之接口类(抽象类)

    Python面向对象之接口类(抽象类):就是制定一个规范.比如定义了一个接口类(抽象类)(他们是不可以进行实例化的,这就是他为什么是制定一个规范的原因). 他的定义是需要abc模块,要变的就是他的方法 ...

  3. python短信接口_短信接口DEMO-PYTHON

    云通讯平台-PYTHON短信接口开发示例 #!/usr/bin/python #2.0+++ import requests#导入request模块 import json import hashli ...

  4. pythondockerapi_docker-py 用Python调用Docker接口的方法

    众所周知,Docker向外界提供了一个API来管理其中的资源.这个API可以是socket文件形式的(一般也是默认的,在/var/run/docker.sock中),也可以是TCP形式的.以前想要通过 ...

  5. 以下哪个不是python财经数据接口工具_这7种Python的全新玩法,大部分人都不知道!...

    Python第三方模块众多,下面我介绍一些比较实用而又有趣的模块,主要分为爬虫.数据处理.可视化.机器学习.神经网络.股票财经.游戏这7个方面,主要内容如下: 创一个小群,供大家学习交流聊天 如果有对 ...

  6. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读. Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pyth ...

  7. c调python_应该是史上最全的python调用C接口

    在这段时间里,我需要使用python调用C接口.我在网上搜索了很多,再加上python的官方文件,并组织备份1.从ctypes加载dll导入* dll = () # func1dll = CDLL ( ...

  8. python文件路径过滤器_SUMO入门(八) - 从Python引入TraCI接口

    SUMO入门(八) - 从Python引入TraCI接口 TraCI TraCI/Interfacing TraCI from Python TraCI命令分为13个部分,它们对应于各个模块: gui ...

  9. python调用webservice接口实例_python调用各种接口,webservice,c接口,com接口,socket协议方法...

    python调用webservice接口(SOAP) (2)调用示例: 需要先安装suds库:pip install suds from suds.client import Client #如果需要 ...

  10. python调用第三方接口获取数据_python调用接口,python接收post请求接口(附完整代码)...

    与Scala语言相比,Python有其独特的优势和广泛的应用,python调用接口,因此Spark也推出了PySpark,它在框架上提供了一个使用Python语言的接口,python接收post请求接 ...

最新文章

  1. TiKV 成功晋级 CNCF 孵化项目
  2. Java获取真实的IP地址--转载
  3. JZOJ 3693. 【NOI2014模拟6.20】慎二的随机数列
  4. python图像边缘提取_python通过robert、sobel、Laplace算子实现图像边缘提取详解
  5. python改文件名_python批量修改文件名、批量修改xml文件的path和filename
  6. python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...
  7. 启动失败代码2_菲斯曼燃气壁挂炉故障代码大全及解决方法
  8. 【推荐】不到100行实现的全面NLP教程(pytorch+tensorflow)
  9. JQUI dialog中使用datepicker
  10. 挑战性价比,刷新你对千元级投影仪的认知,这份详细评测送给你
  11. 电压放大和电流放大区分
  12. C语言将CSR存储模式转为coo,将大型稀疏矩阵转换为COO时出错(Error converting large sparse matrix to COO)...
  13. macOS Redis 安装
  14. Mac桌面上Dock栏消失了?Dock栏消失解决办法
  15. 人类线粒体全基因组二代测序原始数据过滤
  16. KTX(相当于kotlin的简洁、快速使用的版本) Jetpack
  17. 110kV级电力变压器系列技术参数:
  18. c1灯光语言,汽车灯光使用大全与常用灯光语言
  19. 中国信通院正式发布“系统稳定性保障计划”
  20. 机器视觉(1)-- 视觉伺服控制系统简介

热门文章

  1. navicat连接mysql1044_Navicat访问MySQL出现1044/1045错误的解决方法
  2. 利用Python3四舍五入保留两位小数
  3. git的安装与配置教程-超详细版
  4. 直方图均衡化、规定化、局部直方图均衡化、直方图统计
  5. SVN:将分支合并到主干
  6. 数学建模算法 一 简述(3)规划模型-整数规划
  7. 【高并发】别闹了,这样理解Java的内存模型才正确(八种操作+同步规则)
  8. 《Dreamweaver CS6 完全自学教程》笔记 第十七章:Spry 框架技术
  9. python查找公共前缀_Python练习【3】【罗马数字转换/查找公共前缀】
  10. json的存在意义(json和String的区别)