python的接口
写法一:
class Payment:
def pay(self, money):
raise NotImplementedError class Alipay(Payment):
def pay(self, money):
print('支付宝支付{}元。'.format(money)) class Yunpay(Payment):
def pay(self, money):
print('云支付{}元。'.format(money)) class Mypay(Payment):
def zhifu(self, money):
print('我的支付{}元。'.format(money)) def payx(payment, money):
payment.pay(money) payx(Mypay(), 90)
由于Mypay类并未实现pay方法,所以上述代码会报错: NotImplementedError
这就起到了限制作用。
但是这种写法如果不去调用Mypay.pay就不会报错。
第二种写法:
from abc import ABCMeta, abstractmethod class Payment(metaclass=ABCMeta):
@abstractmethod
def pay(self, money):
pass class Alipay(Payment):
def pay(self, money):
print('支付宝支付{}元。'.format(money)) class Yunpay(Payment):
def pay(self, money):
print('云支付{}元。'.format(money)) class Mypay(Payment):
def zhifu(self, money):
print('我的支付{}元。'.format(money)) def payx(payment, money):
payment.pay(money) payx(Mypay(), 90)
报错:TypeError: Can't instantiate abstract class Mypay with abstract methods pay
同样起到了限制作用,而这种写法只要调用Mypay就会报错。
python的接口的更多相关文章
- python+request接口自动化框架
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...
- python版接口自动化测试框架源码完整版(requests + unittest)
python版接口自动化测试框架:https://gitee.com/UncleYong/my_rf [框架目录结构介绍] bin: 可执行文件,程序入口 conf: 配置文件 core: 核心文件 ...
- python编写接口初识一
python编写接口这里用到的是他一个比较轻量级的框架 flask #!/usr/bin/python # -*- coding: UTF-8 -*- import flask,json server ...
- Python Mongodb接口
Python Mongodb接口 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. 同时,MongoDB 是一个介于关系 ...
- python+requests接口自动化测试
转自https://my.oschina.net/u/3041656/blog/820023 原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测 ...
- python+requests接口自动化测试框架实例详解
python+requests接口自动化测试框架实例详解 转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...
- 初识Django —Python API接口编程入门
初识Django —Python API接口编程入门 一.WEB架构的简单介绍 Django是什么? Django是一个开放源代码的Web应用框架,由Python写成.我们的目标是用Python语言, ...
- python的接口类的思考?
1.java怎么实现多继承的功效:https://www.cnblogs.com/Berryxiong/p/6142735.html 2.python的接口类和抽象类:https://www.cnbl ...
- python定义接口继承类
zxq547 python定义接口继承类invalid syntax解决办法 1 2 3 4 5 6 7 class s_all(metaclass=abc.ABCMeta): #python ...
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
随机推荐
- word问题禁止宏
[在此处输入文章标题] 解决Word2010关闭文档时提示:"您正在试图运行的函数包含有宏或需要宏支持的内容" http://www.cnblogs.com/rhxuza1993/ ...
- 048——VUE中使用animate.css动画库控制vue.js过渡效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 040——VUE中组件之组件间的数据参props的使用实例操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- idea里面Java文件显示一个x
idea里面Java文件显示一个x,编译时过滤了,setting->builder->compiler->excludes
- 第10课 struct和union分析
struct的小秘密:空结构体占多大内存呢? 直观的答案有两种: 1.空结构体的大小为0 2.结构体本来就是为了将不同的变量集合在一起使用的,定义空结构体会导致编译错误 实例分析: #include ...
- zend 2.2 db select 使用例子
<?php use Zend\Db\Sql\Select; // basic table $select0 = new Select; $select0->from('foo'); // ...
- [QT_FFMPEG]学习问题: 刚开始移植ffmpeg,测试时出现 undefined reference to `avcodec_configuration()'
使用环境: window: win7 x64 QT: qt5.8.0 MinGW530 移植的教程: 流若浅 Qt ffmpeg环境搭建 : http://www.cnblogs.com/liuru ...
- 从HDU2588:GCD 到 HDU5514:Frogs (欧拉公式)
The greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the ...
- elasticsearch的插件安装
目前使用的是2.4.5版本的es 安装的时候注意以下几点 : 1.如果想所有的ip都能访问es,需要修改config下的elasticsearch.yml.修改如下 network.host=0.0. ...
- ballerina 学习二十二 弹性服务
主要包含断路器模式,负载均衡模式,故障转移,重试 Circuit Breaker 参考代码 import ballerina/http; import ballerina/log; import ba ...