Python面向对象基础训练之继承妙用!

21 篇文章 0 订阅
20 篇文章 0 订阅

       今天我们来练习加强一下Python面向对象中继承的用法技巧,我们今天用一个涨工资的程序来练习一下,来加强我们队继承的理解!好了老规矩上代码!!!

                                                   

 

class Employees: #定义一个员工类
    name = ''    #定义姓名属性
    work_number = ''  #定义员工工号属性
    department = ''    #定义员工部门属性
    money = 0          #定义基本工资属性

    def __init__(self, name, work_number, departmnet, money): #魔法函数自动初始化属性
        self.name = name
        self.work_number = work_number
        self.department = departmnet
        self.money = money

    def information(self):  #定义一个函数展示员工的初始信息
        return '工号为{}{}的{}工资是{:.1f}'.format(self.work_number, self.department, self.name, self.money)

    def wage(self, data):   #定义一个涨工资的函数返回涨工资后的钱数
        self.money = self.money * data
        return self.money


class Manager(Employees): #定义一个经理部门类并继承基础员工类
    bonus = 2000   #经理的奖金为2000

    def wage1(self, data):  #定义一个函数计算经理的工资
        return Employees.wage(self, data) + self.bonus


list1 = []
p1 = Employees('唐三', '001', '生产部', 4500)#实例化四个员工加入列表
p2 = Employees('小舞', '002', '生产部', 4000)
p3 = Employees('奥斯卡', '003', '技术部', 6000)
p4 = Manager('唐昊', '004', '经理部', 8000)
p5 = Manager('比比东', '005', '经理部', 9000)
list1.append(p1)
list1.append(p2)
list1.append(p3)
list1.append(p4)
list1.append(p5)
for i in list1:  #遍历列表打印出涨工资前的员工信息
    print(i.information())
for i in list1[:3]: #用遍历切片计算除经理外的员工涨工资后的工资
    i.wage(1.1)
for i in list1[3:]: #用遍历切片计算除经理涨工资后的工资
    i.wage1(1.2)
print('************涨工资后************')
for i in list1:
    print(i.information()) #把涨工资后的员工信息打印出来

    运行结果为:

工号为001生产部的唐三工资是4500.0
工号为002生产部的小舞工资是4000.0
工号为003技术部的奥斯卡工资是6000.0
工号为004经理部的唐昊工资是8000.0
工号为005经理部的比比东工资是9000.0
************涨工资后************
工号为001生产部的唐三工资是4950.0
工号为002生产部的小舞工资是4400.0
工号为003技术部的奥斯卡工资是6600.0
工号为004经理部的唐昊工资是9600.0
工号为005经理部的比比东工资是10800.0

       通读代码对初学Python的同学可能会受益良多,刚开始学编程难免会有一些问题把自己的思想给束缚住,只要思想不滑坡,方法总比困难多哈哈!我相信只有不断的练习练习再练习,每一遍都有每一遍的收获,俗话说书读百变其义自见,编程也是如此,只有敢于尝试,敢于试错,经验往往都是在经历过错误总结而来的!大家加油!还有正值奥运期间,希望我们的奥运健儿都能在奥运会上大放光彩,为国争光!加油中国队!!!

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值