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

Python学习37天

# 魔术方法



# 创建类Monster,默认为object的子类
class Monster:
    name = None
    age = None
    gender = None

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    # 重写魔术方法__str__输出实例对象信息
    # 默认情况下调用的就是父类的object的__str__,此方法默认返回类型加地址
    def __str__(self):
        return f"姓名: {self.name} 年龄: {self.age} 性别: {self.gender}"

m = Monster("牛魔王", 5000, "男")
print(m)


抽象类


# 导入相关的类ABC和装饰器abstractmethod
from abc import ABC, abstractmethod

# 创建抽象类
class Employee(ABC):

    # 创建构造器动态生成属性
    def __init__(self, name, id, salary):
        self.name = name
        self.id = id
        self.salary = salary

    # 创建抽象方法
    @abstractmethod
    def work(self):
        pass

class Manage(Employee):

    def __init__(self, name, id, salary, bounds):
        # 调用父类构造器初始化
        super().__init__(name, id, salary)
        # 初始化子类
        self.bounds = bounds

        # 完成抽象类中的抽象方法

    def work(self):
        print(f"经理: {self.name} id: {self.id} 年薪{self.salary * 12 + self.bounds}")

class CommonEmployee(Employee):

    def work(self):
        print(f"普通员工:{self.name} id: {self.id} 年薪{self.salary * 12}")

manger = Manage("tom", "10086", 20000, 40000)
manger.work()
employee = CommonEmployee("kin", "10010", 12000)
employee.work()

http://www.lryc.cn/news/493967.html

相关文章:

  • flask的第一个应用
  • 【论文格式】同步更新中
  • Java-GUI(登录界面示例)
  • 看华为,引入IPD的正确路径
  • 计算机毕业设计Spark+大模型知识图谱中药推荐系统 中药数据分析可视化大屏 中药爬虫 机器学习 中药预测系统 中药情感分析 大数据毕业设计
  • pcb线宽与电流
  • w~视觉~合集26
  • Qt支持RKMPP硬解的视频监控系统/性能卓越界面精美/实时性好延迟低/录像存储和回放/云台控制
  • 【Qt】图片绘制不清晰的问题
  • 2008年IMO几何预选题第3题
  • NAT拓展
  • Flink四大基石之State
  • Spacy小笔记:zh_core_web_trf、zh_core_web_lg、zh_core_web_md 和 zh_core_web_sm区别
  • 第六届智能控制、测量与信号处理国际学术会议 (ICMSP 2024)
  • docker服务容器化
  • 【QT】控件8
  • 漫谈推理谬误——错误因果
  • 【数据结构】队列实现剖析:掌握队列的底层实现
  • 【C++】IO库(二):文件输入输出
  • 105.【C语言】数据结构之二叉树求总节点和第K层节点的个数
  • 力扣637. 二叉树的层平均值
  • 【前端】Next.js 服务器端渲染(SSR)与客户端渲染(CSR)的最佳实践
  • 路径规划之启发式算法之一:A-Star(A*)算法
  • Android复习代码1-4章
  • 【问题】webdriver.Chrome()设置参数executable_path报不存在
  • win10系统安装docker-desktop
  • 小程序-基于java+SpringBoot+Vue的乡村研学旅行平台设计与实现
  • 组件A底部栏(position: fixed )事件使用$emit更新内容失败bug解决
  • 数据结构——排序第三幕(深究快排(非递归实现)、快排的优化、内省排序,排序总结)超详细!!!!
  • C++的类功能整合