форкнуто от 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})"
|
||||
|
||||
|
||||
Загрузка…
Ссылка в новой задаче