форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
58 строки
2.5 KiB
Python
58 строки
2.5 KiB
Python
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})"
|
|
|
|
|