class Sotrudnik: def __init__(self, fio, otdel=None, dolzhnost=None, oklad = 70000): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self._pooshreniya = [] def povishenie_oklada(self, oklad_povisheniy): self.oklad = oklad_povisheniy print(f'Сумма оклада изменилась с мин. 70000 руб. на {oklad_povisheniy} руб.') def perevod_otdel(self, perevod_otdel_name): self.otdel = perevod_otdel_name print(f'Перевод сотрудника на отдел {perevod_otdel_name}') def izm_dolzhnost(self, izm_dolzhnost_name): self.dolznost = izm_dolzhnost_name print(f'Изменение должности на {izm_dolzhnost_name}') @property def pooshreniya(self): """ Свойство для получения списка поощрений Возвращает: - копию списка поощрений (для защиты от изменения извне) """ return self._pooshreniya.copy() @pooshreniya.setter def pooshreniya(self, value): """ Сеттер для поощрений (только для очистки списка) Можно передать пустой список для очистки """ if isinstance(value, list) and len(value) == 0: self._pooshreniya = [] print(f"Список поощрений {self.fio} очищен") else: print("Примечание: для добавления поощрений используйте метод obyavit_blagodarnost()") def info(self): """ Возвращает строку с информацией о сотруднике """ return (f"ФИО: {self.fio}\n" f"Отдел: {self.otdel}\n" f"Должность: {self.dolzhnost}\n" f"Оклад: {self.oklad} руб.\n" f"Количество поощрений: {len(self._pooshreniya)}") def __str__(self): """Строковое представление объекта""" return f"Сотрудник: {self.fio} ({self.dolzhnost}, {self.otdel})"