# Общее контрольное задание по Теме 9 Лазарев Данил, А-01-23 ## Задание Создайте и запишите в модуль класс, содержащий следующие компоненты: - конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; - метод для обеспечения операции повышения оклада сотрудника на заданное значение; - метод для обеспечения перевода сотрудника из одного отдела в другой; - метод для изменения должности сотрудника; - свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. # Решение Модуль Employee ``` 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 ) def change_oklad(self, diff): self.oklad += diff def change_otdel(self, new_otdel): self.otdel = new_otdel def change_dolzhnost(self, new_dolzhnost): self.dolzhnost = new_dolzhnost @property def get_pooshreniya(self): return list(self.__pooshreniya) def set_pooshreniya(self,pooshrenie): self.__pooshreniya.append(pooshrenie) def get_employee_info(self): print(f""" ФИО: {self.fio} Отдел: {self.otdel} Должность: {self.dolzhnost} Оклад: {self.oklad} руб. Поощрения: {self.__pooshreniya} """) ``` Реализация программы ``` import os os.chdir("C:\\Users\\Dannyan\\OneDrive\\Рабочий стол\\python-labs\\TEMA9") from Employee import Employee E1 = Employee("Сидорова Е.Ю.","Кафедра управления и интеллектульных систем","Старший преподаватель",80000) E2 = Employee("Вишняков С.В.","Дирекция ИВТИ","Директор института ИВТИ",200000) E1.get_employee_info() >>> ФИО: Сидорова Е.Ю. Отдел: Кафедра управления и интеллектульных систем Должность: Старший преподаватель Оклад: 80000 руб. Поощрения: [] E2.get_employee_info() >>> ФИО: Вишняков С.В. Отдел: Дирекция ИВТИ Должность: Директор института ИВТИ Оклад: 200000 руб. Поощрения: [] E1.change_oklad(10000) E2.change_oklad(-20000) E2.change_otdel("Дирекция ГПИ") E2.change_dolzhnost("Заместитель директора ГПИ") E1.set_pooshreniya("Премирование") E2.set_pooshreniya("Награда за заслуги перед МЭИ") E1.get_employee_info() >>> ФИО: Сидорова Е.Ю. Отдел: Кафедра управления и интеллектульных систем Должность: Старший преподаватель Оклад: 90000 руб. Поощрения: ['Премирование'] E2.get_employee_info() >>> ФИО: Вишняков С.В. Отдел: Дирекция ГПИ Должность: Заместитель директора ГПИ Оклад: 180000 руб. Поощрения: ['Награда за заслуги перед МЭИ'] ```