class Employee: """Класс, описывающий основные данные о сотруднике организации""" def __init__(self, fio = "", otdel = "", dolzhnost = "", oklad = 0): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self.__pooshreniya = [] self.pooshreniya = property( self.get_pooshreniya, self.set_pooshreniya, self.del_pooshreniya ) def change_oklad(self, diff): if (self.oklad + diff <= 0): print("Оклад сотрудника не может быть меньше либо равен 0") else: self.oklad += diff print(f"Оклад сотрудника {self.fio} был {'увеличен' if diff >= 0 else 'уменьшен'} на {abs(diff)}") def change_otdel(self, new_otdel): old_otdel = self.otdel self.otdel = new_otdel print(f"Сотрудник {self.fio} был переведен из отдела '{old_otdel}' в '{new_otdel}'") def change_dolzhnost(self, new_dolzhnost): old_dolzhnost = self.dolzhnost self.dolzhnost = new_dolzhnost print(f"Должность сотрудника {self.fio} была изменена с '{old_dolzhnost}' на '{new_dolzhnost}'") def get_pooshreniya(self): return list(self.__pooshreniya) def set_pooshreniya(self, value): if isinstance(value, str): self.__pooshreniya.append(value) print(f"Добавлено поощрение для сотрудника {self.fio}: '{value}'") elif isinstance(value, list): self.__pooshreniya.extend(value) print(f"Добавлены поощрения для сотрудника {self.fio}: {value}") else: print("Поощрение должно быть строкой или списком строк") def del_pooshreniya(self, item = ""): if not item: self.__pooshreniya.clear() print(f"Список поощрений сотрудника {self.fio} очищен") elif item in self.__pooshreniya: self.__pooshreniya.remove(item) print(f"Поощрение {item} сотрудника {self.fio} удалено") else: print(f"Такого поощрения нет в списке поощрений сотрудника {self.fio}") def get_employee_info(self): print(f""" ФИО: {self.fio} Отдел: {self.otdel} Должность: {self.dolzhnost} Оклад: {self.oklad} руб. Поощрения: {self.__pooshreniya if self.__pooshreniya else 'нет'} """)