Python类:抽象类、接口类

作者:神秘网友 发布时间:2021-02-22 09:20:07

Python类:抽象类、接口类

一、接口类:实现方法名相同,调用不同的类
from abc import ABCMeta,abstractmethod 规范化模块
(metaclass=ABCMeta)
@abstractmethod
def pay(obj):
    obj.pay()
from abc import ABCMeta,abstractmethod
class Payment(metaclass=ABCMeta):  # 抽象类(接口类):
    @abstractmethod
    def pay(self): pass  # 制定了一个规范
    # @abstractmethod
    # def func(self):pass

class Alipay(Payment):
    def __init__(self,money):
        self.money = money
    def pay(self):
        print('使用支付宝支付了%s' %self.money)

class Jdpay(Payment):
    def __init__(self, money):
        self.money = money
    def pay(self):
        print('使用京东支付了%s' % self.money)

class Wechatpay(Payment):
    def __init__(self,money):
        self.money = money
    def pay(self):
        print('使用微信支付了%s' % self.money)

def pay(obj):
    obj.pay()

# w1 = Wechatpay(200)
a1 = Alipay(200)
j1 = Jdpay(100)
pay(a1)  # 归一化设计
pay(j1)


Python类:抽象类、接口类 相关文章

  1. Python的复制与拷贝-----奶奶看了直呼好家伙!

    变量与赋值 在 Python 中,一切皆为对象,对象通过「变量名」引用,「变量名」更确切的叫法是「名字」,好比我们每个人都有自己的名字一样,咱们通过名字来代指某个人,代码里面通过名字来指代某个对象。 变量赋值就是给对象绑定一个名字,赋值并不会拷贝对

  2. python dict get函数

    Python 字典(Dictionary) get() 函数返回指定键key的值value dict.get(key, default=None) key -- 字典中要查找的键。 default -- 如果指定键的值不存在时,返回该默认值。 返回指定键的值, 如果键不在字典中返回默认值 None 或者设置的默认值。 dict = {'N

  3. Python中的模块

    Python中的库 Python的标准库有:名称作用builtins 内建函数默认加载time 时间calendar 日历hashlib 加密算法copy 拷贝functools 常用的工具re 字符串正则匹配datetime 为日期和时间处理同时提供了简单和复杂的方法。zlib 直接支持通用的数据打包和压缩格式

  4. python类的组合

    模拟英雄联盟写一个游戏人物的类 要求: (1)创建一个 Game_role的类. (2) 构造方法中给对象封装name,ad(攻击力),hp(血量).三个属性. (3) 创建一个attack方法,此方法是实例化两个对象,互相攻击的功能: 例: 实例化一个对象 盖伦,ad为10, hp为100 实例化另个一个

  5. python之写入日志

    对代码程序发生错误的时候,通过记录日志的方式,来排查问题,是一个很好的习惯 对于日志的设置,需要以下几点: 1- 存放路径 2- 日志文件名 3- 内容格式:format 2020_10_14.21.34.24 - logBasic.py [代码错误的行号] 级别:具体内容 执行时间 文件名 【报

  6. 【python】递归听了N次也没印象,读完这篇你就懂了

    听到递归总觉得挺高大上的,为什么呢因为对其陌生,那么今天就来一文记住递归到底是个啥。 不过先别急,一起来看一个问题:求10的阶乘(10!)。 求x的阶乘,其实就是从1开始依次乘到x。那么10的阶乘就是 1*2*3*4*5*6*7*8*9*10 一、非递归方式求阶乘 假如,

  7. python学习笔记——资料来源于廖雪峰老师

    # usr/bin/env python3 # -*- coding: utf-8 -*-# -*- 2021/2/8 -*-# 生成器# 杨辉三角def triangles(): s = [1] i = 2 while True: yield s # 相当于表示存储的值,但是是计算出来的 t = [] for j in range(i): if j == 1 or j == i - 1: t.append(1) else:

  8. 关于scrapy框架 python爬虫进阶篇

    scrapy的好处在于能自动配置多线程请求来加快爬虫运行的速度,同时作为框架我们只需要配置较少的部分。 参考自 : https://blog.csdn.net/zjiang1994/article/details/52779537 一、关于scrapy的安装 首先去这个网站下载所需要的插件 https://www.lfd.uci.ed

  9. 【string】字符串模板、拼接、格式

    在python中Template可以将字符串的格式固定下来,重复利用。 1、使用 string.Template 拼接 时,要在名字前加前缀$来标识变量(例如, $var)如果有必要区分变量和周围的文本,可以用大括号包围变量(例如,${va r}) import stringvalues = {'var': 'foo'}t = st

  10. 第5章 编程范式考察点

    面向对象基础及 Python类常考问题 什么是面向对象编程 Object Oriented Programming(OOP)◆把对象作为基本单元,把对象抽象成类(Class),包含成员和方法◆数据封装、继承、多态◆ Python中使用类来实现。过程式编程(函数),OOP(类) Python中如何创建

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词