Python工资管理系统:工人和经理薪资计算
Python工资管理系统:工人和经理薪资计算
本文将使用 Python 编写一个简单的工资管理程序,系统包含工人 (worker) 和经理 (manage) 两种角色。所有员工都具有员工号、姓名和基本工资等属性。
- 工人: 工人拥有工作小时数和时薪属性,工资计算方法为基本工资 + 工作小时数 * 时薪。
- 经理: 经理拥有固定的月薪,工资计算方法为固定月薪。
我们将根据以上要求设计类,并展示人员信息和工资情况。
代码实现
class Person():
def __init__(self, id, name, salary):
self.id = id
self.name = name
self.salary = salary
def __str__(self):
msg = '工号:{},姓名:{},本月工资:{}'.format(self.id, self.name, self.salary)
return msg
class Worker(Person):
def __init__(self, id, name, salary, hours, per_hour):
super().__init__(id, name, salary)
self.hours = hours
self.per_hour = per_hour
def getSalary(self):
money = self.salary + self.hours * self.per_hour
return money
class Manager(Person):
def __init__(self, id, name, salary):
super().__init__(id, name, salary)
def getSalary(self):
return self.salary
worker = Worker('001', 'King', 10000, 160, 50)
sal = worker.getSalary()
print(worker)
print('King的月薪是:{}'.format(sal))
manager = Manager('002', 'Lily', 20000)
sal = manager.getSalary()
print(manager)
print('{}每天的工作时长:{}小时'.format('Lily', manager.getSalary()))
print('Lily的月薪是:{}'.format(sal))
运行结果
工号:001,姓名:King,本月工资:10000
King的月薪是:90000
工号:002,姓名:Lily,本月工资:20000
Lily每天的工作时长:20000小时
Lily的月薪是:20000
代码解析
- Person 类: 定义了一个基础的员工类,包含了所有员工共有的属性 (员工号、姓名、基本工资) 和
__str__方法,用于格式化输出员工信息。 - Worker 类: 继承自 Person 类,并添加了工作小时数 (hours) 和时薪 (per_hour) 属性,以及
getSalary方法计算工人的工资。 - Manager 类: 继承自 Person 类,并重写了
getSalary方法,直接返回经理的固定月薪。 - 实例化和调用: 创建了 Worker 和 Manager 类的实例,并调用了
getSalary方法计算工资,最后打印了员工信息和工资。
总结
本文展示了如何使用 Python 编写简单的工资管理程序,并针对工人和经理的不同工资计算方式进行了代码实现。代码结构清晰,逻辑简单,适合初学者学习。
原文地址: https://www.cveoy.top/t/topic/nRmS 著作权归作者所有。请勿转载和采集!