# Общее контрольное задание по теме 9 Коломейцев Дмитрий, А-02-23 ## Задание Создайте и запишите в модуль класс, содержащий следующие компоненты: * конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; * метод для обеспечения операции повышения оклада сотрудника на заданное значение; * метод для обеспечения перевода сотрудника из одного отдела в другой; * метод для изменения должности сотрудника; * свойство, содержащее перечень (список) поощрений сотрудника. Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. ## Решение Содержимое модуля __Employee.py__: ```py class Employee: """Класс, описывающий основные данные о сотруднике организации""" def __init__(self, fio = "", otdel = "", dolzhnost = "", oklad = 0): self.fio = fio self.otdel = otdel self.dolzhnost = dolzhnost self.oklad = oklad self.__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 def get_pooshreniya(self): return list(self.__pooshreniya) def set_pooshreniya(self, value): self.__pooshreniya.append(value) def del_pooshreniya(self): self.__pooshreniya.clear() def get_employee_info(self): print(f""" ФИО: {self.fio} Отдел: {self.otdel} Должность: {self.dolzhnost} Оклад: {self.oklad} руб. Поощрения: {self.__pooshreniya if self.__pooshreniya else 'нет'} """) ``` Проверка класса на работоспособность: ```py >>> from Employee import Employee >>> employee1 = Employee("Иванов И.И.", "Отдел продаж недвижимости", "Руководитель отдела продаж", 75000) >>> employee2 = Employee("Смирнов С.С.", "Отдел брокеров", "Брокер", 50000) >>> employee1.get_employee_info() # Отображение полной информации об экземпляре класса ФИО: Иванов И.И. Отдел: Отдел продаж недвижимости Должность: Руководитель отдела продаж Оклад: 75000 руб. Поощрения: нет >>> employee2.get_employee_info() ФИО: Смирнов С.С. Отдел: Отдел брокеров Должность: Брокер Оклад: 50000 руб. Поощрения: нет >>> employee1.change_otdel("Администрация") # Изменение отдела >>> employee2.change_oklad(-5000) # Изменение оклада (отрицательное число) >>> employee2.change_oklad(7500) # Изменение оклада (положительное число) >>> employee2.change_dolzhnost("CEO") >>> employee1.set_pooshreniya("Благодарность клиента") >>> employee1.set_pooshreniya(["Премия за сделку", "Сертификат 'Лучший брокер'"]) >>> employee1.get_pooshreniya() ['Благодарность клиента', 'Премия за сделку', "Сертификат 'Лучший брокер'"] >>> employee1.del_pooshreniya("Премия за сделку") >>> employee1.get_employee_info() ФИО: Иванов И.И. Отдел: Администрация Должность: Руководитель отдела продаж Оклад: 75000 руб. Поощрения: ['Благодарность клиента', "Сертификат 'Лучший брокер'"] >>> employee2.get_employee_info() ФИО: Смирнов С.С. Отдел: Отдел брокеров Должность: CEO Оклад: 52500 руб. Поощрения: нет ```