用Python创建的银行员工类中添加实例方法实现员工的打卡签到和领工资两种行为
时间: 2024-03-26 21:41:09 浏览: 85
好的,我可以帮你写一个示例代码。以下是一个简单的员工类实现,包含打卡签到和领工资两个实例方法:
```python
class Employee:
def __init__(self, name, id):
self.name = name
self.id = id
self.salary = 0
self.attendance = {}
def clock_in(self, date):
if date not in self.attendance:
self.attendance[date] = {'in': None, 'out': None}
self.attendance[date]['in'] = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print('打卡成功!')
def clock_out(self, date):
if date not in self.attendance:
self.attendance[date] = {'in': None, 'out': None}
self.attendance[date]['out'] = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print('打卡成功!')
def receive_salary(self, amount):
self.salary += amount
print('领取工资成功!当前工资:{}'.format(self.salary))
```
在这个示例中,我们定义了一个名为`Employee`的类,它包含了员工的姓名、ID、工资和签到记录等属性。同时,这个类还定义了三个实例方法:
- `clock_in`:用于员工打卡签到。该方法接受一个日期参数,用于记录员工签到的日期。如果该日期未被记录,则在签到记录中添加该日期,并记录签到时间。
- `clock_out`:用于员工打卡签退。该方法接受一个日期参数,用于记录员工签退的日期。如果该日期未被记录,则在签到记录中添加该日期,并记录签退时间。
- `receive_salary`:用于员工领取工资。该方法接受一个金额参数,将该金额加入员工的工资余额中,并打印当前工资余额。
使用示例:
```python
# 创建一个员工实例
employee = Employee('Tom', '001')
# 员工打卡签到
employee.clock_in('2021-07-01')
# 员工打卡签退
employee.clock_out('2021-07-01')
# 员工领取工资
employee.receive_salary(5000)
```
输出结果:
```
打卡成功!
打卡成功!
领取工资成功!当前工资:5000
```
阅读全文