форкнуто от main/python-labs
Родитель
ebb5e9050f
Сommit
490dfe9500
@ -0,0 +1,57 @@
|
|||||||
|
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 list_poochreniya(self, poochreniye):
|
||||||
|
list_poshreniya = []
|
||||||
|
list_posreniya.append(poochreniye)
|
||||||
|
self.poochreniya = list_poochreniya
|
||||||
|
|
||||||
|
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})"
|
||||||
|
|
||||||
|
|
||||||
Загрузка…
Ссылка в новой задаче