当前位置: 首页 > news >正文

Python高级——类的知识

一、知识梳理:

二、货币场景搭建:

1)代码展示:

class RMB:
    count = 0
    def __init__(self,yuan=0,jiao=0,fen=0):
        self.__yuan = yuan
        self.__jiao = jiao
        self.__fen = fen
        RMB.count += 1

    def __add__(self, other):
        temp = RMB()
        temp.__yuan = self.__yuan + other.__yuan
        temp.__jiao = self.__jiao + other.__jiao
        temp.__fen = self.__fen + other.__fen
        return temp

    def __sub__(self, other):
        temp = RMB()
        temp.__yuan = self.__yuan - other.__yuan
        temp.__jiao = self.__jiao - other.__jiao
        temp.__fen = self.__fen - other.__fen
        return temp

    def __gt__(self, other):
        if self.__yuan > other.__yuan:
            return True
        elif (self.__yuan == other.__yuan) and self.__jiao > other.__jiao:
            return True
        elif ((self.__yuan == other.__yuan) and (self.__jiao == other.__jiao)) and self.__fen > other.__fen:
            return True
        else:
            return False

    def __isub__(self, other=0):
        self.__yuan -= 1
        self.__jiao -= 1
        self.__fen -= 1

    def __iadd__(self, other=0):
        self.__yuan += 1
        self.__jiao += 1
        self.__fen += 1

    def __del__(self):
        RMB.count -= 1

    def __str__(self):
        return f"{self.__yuan}元{self.__jiao}角{self.__fen}分,count={RMB.count}"

if __name__ == '__main__':
    x = RMB(5,5,5)
    print(f"x={x}")
    y = RMB(3,3,3)
    print(f"y={y}")
    z = x + y
    print(f"x+y={z}")
    w = x - y
    print(f"x-y={w}")
    print(f"x > y的结果是{x > y}")
    x.__isub__()
    print(f"x自减之后,x={x}")
    y.__iadd__()
    print(f"y自增之后,y={y}")

 2)结果展示:

x=5元5角5分,count=1
y=3元3角3分,count=2
x+y=8元8角8分,count=3
x-y=2元2角2分,count=3
x > y的结果是True
x自减之后,x=4元4角4分,count=3
y自增之后,y=4元4角4分,count=3

相关文章:

  • 域渗透工具推荐:impacket
  • 第6关:部分快速排序-用分治法实现
  • 2.Linux基本指令(下)
  • conda报错activate没办法激活环境
  • 从TouchDriver Pro到Touchdriver G1,Weart触觉手套全系解析:XR交互的“真实触感”如何实现?
  • 【北京迅为】iTOP-RK3568开发板OpenHarmony系统南向驱动开发UART接口运作机制
  • 各种排序汇总
  • Linux驱动开发基础(can)
  • 文献检索与下指南
  • fetch,ajax,axios的区别以及使用
  • 【python】OpenCV—Template Matching
  • 数学建模 第三节
  • Python绘图技巧,主流绘图库
  • Day 21: 数组中的逆序对
  • Java Stream两种list判断字符串是否存在方案
  • 深度学习优化技术教程
  • 机器人打磨控制技术
  • electron框架(4.0)electron-builde和electron Forge的打包方式
  • 第J3周:DenseNet121算法实现01(Pytorch版)
  • C语言指针(详细总结)
  • 贝壳一季度收入增长42%:二手房市场活跃度维持在高位
  • 国家卫健委通报:吊销肖某医师执业证书,撤销董某莹四项证书
  • 上海制造佳品汇大阪站即将启幕,泡泡玛特领潮出海
  • 株洲一重病妇女被要求本人到银行取款时去世?当地警方:正在处理
  • 人民日报:从“轻微免罚”看涉企执法方式转变
  • 文化润疆|为新疆青少年提供科普大餐,“小小博物家(喀什版)”启动