From 80a08863d3573b4ee798f54ab456ff4e9b805044 Mon Sep 17 00:00:00 2001 From: BezhenarAN Date: Sat, 13 Dec 2025 22:23:44 +0300 Subject: [PATCH] =?UTF-8?q?new:=20added=20report=20and=20=D0=9E=D0=9A?= =?UTF-8?q?=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA9/Employee.py | 29 +++++ TEMA9/Figure_1.png | Bin 0 -> 22619 bytes TEMA9/Figure_2.png | Bin 0 -> 25099 bytes TEMA9/Mod3.py | 12 ++ TEMA9/SAU.py | 21 ++++ TEMA9/main_SAU.py | 19 +++ TEMA9/report.md | 294 +++++++++++++++++++++++++++++++++++++++++++++ TEMA9/task.md | 89 ++++++++++++++ 8 files changed, 464 insertions(+) create mode 100644 TEMA9/Employee.py create mode 100644 TEMA9/Figure_1.png create mode 100644 TEMA9/Figure_2.png create mode 100644 TEMA9/Mod3.py create mode 100644 TEMA9/SAU.py create mode 100644 TEMA9/main_SAU.py create mode 100644 TEMA9/report.md create mode 100644 TEMA9/task.md diff --git a/TEMA9/Employee.py b/TEMA9/Employee.py new file mode 100644 index 0000000..e3db52b --- /dev/null +++ b/TEMA9/Employee.py @@ -0,0 +1,29 @@ +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 + 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} + """) diff --git a/TEMA9/Figure_1.png b/TEMA9/Figure_1.png new file mode 100644 index 0000000000000000000000000000000000000000..425d63d579067cf50606da5a3c3c046a660c5651 GIT binary patch literal 22619 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 b!`g-xiI!HAgb3;a24idOc$R(U#@&AcUBh2w literal 0 HcmV?d00001 diff --git a/TEMA9/Figure_2.png b/TEMA9/Figure_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fec9377095165b3610d0191d433b0136269df771 GIT binary patch literal 25099 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 x73f1Sm%sic0yePn`M>> import os +>>> os.chdir("C:\\Users\\Дружок\\Desktop\\ПОАС\\python-labs\\TEMA9") +``` +### 2. Создание классов и их наследников. +Класс в Python, как и в других языках программирования, - это элемент ПО, описывающий абстрактный тип данных и его частичную или полную реализацию. Классы – это основные инструменты объектно-ориентированного программирования (ООП) в языке Python. Они представляют собой шаблоны, образцы, по которым может быть создано множество объектов-экземпляров класса. У каждого класса есть уникальное имя и некоторый набор специфических для него атрибутов: полей и методов, которые могут использоваться при работе с экземплярами класса. + +#### 2.1. Создание автономного класса. +Классы могут быть автономными, т.е. независящими от других классов: +```py +>>> class Class1: # Объявление класса +... def zad_zn(self, znach): # Метод класса для задания значения поля data +... self.data = znach # self - ссылка на экземпляр класса Class1 +... def otobrazh(self): # Метод класса для отображения значения поля data +... print(self.data) +... +>>> z1 = Class1() # Создание 1-го экземпляра класса +>>> z2 = Class1() # Создание 2-го экземпляра класса +>>> z1.zad_zn("Экземпляр класса 1") +>>> z2.zad_zn(-632.453) +>>> z1.otobrazh() + Экземпляр класса 1 +>>> z2.otobrazh() + -632.453 +>>> z1.data = "Новое значение атрибута у экземпляра 1" +>>> z1.otobrazh() + Новое значение атрибута у экземпляра 1 +``` +#### 2.2. Создание класса-наследника. +Также классы могут наследоваться от других классов, т.е. иметь такие же поля данных как и класс-родитель и имплементировать его методы, которые можно переопределять. +```py +>>> class Class2(Class1): # Объявление класса-наследника другого класса +... def otobrazh(self): # Переопределение метода класса-родителя +... print("Значение =", self.data) +... +>>> z3 = Class2() +>>> dir(z3) + ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'otobrazh', 'zad_zn'] +>>> z3.zad_zn("Совсем новое") +>>> z3.otobrazh() # Сработал переопределенный метод otobrazh класса Class2 + Значение = Совсем новое +>>> z1.otobrazh() # Значение поля data класса Class1 не изменилось + Новое значение атрибута у экземпляра 1 +>>> del z1, z2, z3 +``` +### 3. Использование классов, содержащихся в модулях. +Классы могут быть описаны в модулях, которые потом должны быть подключены к основной программе, чтобы реализовать объекты соответствующего класса. Так, например, в модуле "Mod3.py" описано обявление класса Class1: +```py +class Class1: + def zad_zn(self, znach): + self.data = znach + def otobrazh(self): + print(self.data) + +class Class2(Class1): + def otobrazh(self): + print("Значение =", self.data) + +def otobrazh(obj): + print("Значение объекта =", obj) +``` +Пример частичного импорта модуля и последующего создания объекта класса Class1: +```py +>>> from Mod3 import Class1 +>>> z4 = Class1() +>>> z4.otobrazh() # Поле data класса не было инициализировано, поэтому его еще нет в классе + Traceback (most recent call last): + File "", line 1, in + z4.otobrazh() + File "C:\Users\Дружок\Desktop\ПОАС\python-labs\TEMA9\Mod3.py", line 5, in otobrazh + print(self.data) + AttributeError: 'Class1' object has no attribute 'data' +>>> z4.data = "Значение поля data у экземпляра 4" # Прямая инициализация поля data +>>> z4.otobrazh() # Использован метод для отображения значения поля, описанный в Class1 + Значение поля data у экземпляра 4 +>>> del z4 +``` +Теперь импортируем модуль полностью: +```py +>>> del z4 +>>> import Mod3 +>>> z4 = Mod3.Class2() +>>> z4.zad_zn("Класс из модуля") +>>> z4.otobrazh() # Использован метод для отображения значения поля, описанный в Class2 + Значение = Класс из модуля +>>> Mod3.otobrazh("Объект") # Использована функция otobrazh + Значение объекта = Объект +``` +### 4. Использование специальных методов. +Имена специальных методов предваряются одним или двумя подчерками и имеют вид: <имя специального метода>. Пример класса, содержащего два специальных метода: +```py +>>> class Class3(Class2): +... def __init__(self, znach): # Специальный метод-конструктор +... self.data = znach +... def __add__(self, another_zn): # Специальный метод для сложения +... return Class3(self.data + another_zn) +... def zad_another_zn(self, povtor): # Обычный пользовательский метод +... self.data *= povtor +... +>>> z5 = Class3("abc") +>>> z5.otobrazh() + Значение = abc +>>> z6 = z5 + "def" +>>> z6.otobrazh() + Значение = abcdef +>>> z6.zad_another_zn(3) +>>> z6.otobrazh() + Значение = abcdefabcdefabcdef +``` +### 5. Присоединение атрибутов к классу. +Каждый класс обладает определенными атрибутами, список которых можно получить с помощью ранее изученной команды dir(). +```py +>>> dir(Class3) + ['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'otobrazh', 'zad_another_zn', 'zad_zn'] +>>> Class3.fio = "Иванов И.И." +>>> dir(Class3) + ['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn'] +>>> z7 = Class3(123) +>>> dir(z7) # Отображение списка атрибутов объекта класса после добавления в него поля fio + ['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'data', 'fio', 'otobrazh', 'zad_another_zn', 'zad_zn'] +>>> dir(z7) == dir(Class3) + False +>>> z7.fio + 'Иванов И.И.' +>>> Class3.fio + 'Иванов И.И.' +>>> z7.rozden = "1987" +>>> dir(z7) + ['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'data', 'fio', 'otobrazh', 'rozden', 'zad_dr_zn', 'zad_zn'] +>>> dir(Class3) + ['__add__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'fio', 'otobrazh', 'zad_dr_zn', 'zad_zn'] +>>> "rozden" in dir(z7) # Проверка того, что поле rozden появилось в объекте класса + True +>>> "rozden" in dir(Class3) # Проверка того, что поле rozden не появилось в самом классе + False +``` + +### 6. Выявление родительских классов. +Чтобы узнать наследуется ли класс от какого-либо другого класса можно рассмотреть атрибут bases, который отображает соответствующий родительский класс: +```py +>>> Class3.__bases__ + (,) +>>> Class2.__bases__ + (,) +>>> Class1.__bases__ + (,) +``` +Для получения полной цепочки наследований нужно использовать атрибут mro: +```py +>>> Class3.__mro__ + (, , , ) +>>> ZeroDivisionError.__mro__ + (, , , , ) +``` +### 7. Создание свойств класса. +Свойство (property) класса – это особый атрибут класса, с которым можно производить операции чтения или задания его значения, а также удаление значения этого атрибута. Пример класса с определенным в нём свойством: +```py +>>> class Class4: +... def __init__ (self, znach): +... self.__prm = znach +... def chten(self): +... return self.__prm +... def zapis(self, znch): +... self.__prm = znch +... def stiran(self): +... del self.__prm +... svojstvo = property(chten, zapis, stiran) +... +>>> exempl = Class4(12) +>>> exempl.svojstvo + 12 +>>> exempl.svojstvo = 45 +>>> print(exempl.svojstvo) + 45 +>>> del exempl.svojstvo +>>> exempl.svojstvo # Отображения отсутсвующего в объекте класса свойства вызывает ошибку + Traceback (most recent call last): + File "", line 1, in + example.svojstvo + File "", line 5, in chten + return self.__prm + AttributeError: 'Class4' object has no attribute '_Class4__prm' +``` +### 8. Представление некоторой модели в виде класса. +Различные модели можно представлять в виде отдельных классов. Пример создания класса для модели, состоящей из последовательного соединения усилителя и двух инерционных звеньев, охваченных отрицательной обратной связью с усилителем, представлен ниже. + +Содержимое модуля SAU.py с классом SAU: +```py +class SAU: + def __init__ (self, zn_param): + self.param = zn_param + self.ypr = [0, 0] + + def zdn_zn(self, upr): + self.x = upr + + def model(self): + def inerz(x, T, yy): + return (x + T * yy) / (T + 1) + + y0 = self.x - self.ypr[1] * self.param[3] # Обратная связь с усилителем 2 + y1 = self.param[0] * y0 # Усилитель 1 + y2 = inerz(y1, self.param[1], self.ypr[0]) # Инерционное звено 1 + y3 = inerz(y2, self.param[2], self.ypr[1]) # Инерционное звено 2 + self.ypr[0] = y2 + self.ypr[1] = y3 + + def otobrazh(self): + print("y =", self.ypr[1]) +``` +```py +from SAU import * +prm = [2.5, 4, 1.3, 0.8] # Параметры модели: K1, T1, T2, K2 +xx = [0] + [1] * 20 # Входной сигнал – «ступенька» +SAUe = SAU(prm) +yt = [] + +for xt in xx: + SAUe.zdn_zn(xt) + SAUe.model() + SAUe.otobrazh() + yt.append(SAUe.ypr[1]) + +import pylab +pylab.plot(yt) +pylab.title("График выходного сигнала") +pylab.xlabel("Время - t") +pylab.ylabel("Выходной сигнал - y(t)") +pylab.grid(True) +pylab.show() +``` +Результат выполнения программы и построенный график: +```py +>>> import main_SAU + y = 0.0 + y = 0.2173913043478261 + y = 0.4763705103969754 + y = 0.686594887811293 + y = 0.8199324616478645 + y = 0.8837201137353929 + y = 0.8994188484874774 + y = 0.8892777072047301 + y = 0.870097963179993 + y = 0.8518346102696789 + y = 0.8387499784485772 + y = 0.8314204114211459 + y = 0.8286051955249649 + y = 0.8285656555914835 + y = 0.8297915186846528 + y = 0.8312697736438287 + y = 0.8324765218921963 + y = 0.8332456979978418 + y = 0.8336163607592184 + y = 0.8337101315489143 + y = 0.833654237067147 +``` +![Скриншот построенного графика](Figure1.png) +Результат с другими параметрами системы: prm = [5, 2, 3, 2] # Параметры модели: K1, T1, T2, K2 +```py +>>> import importlib +>>> importlib.reload(main_SAU) +y = 0.0 +y = 0.4166666666666667 +y = 0.6597222222222223 +y = 0.5931712962962963 +y = 0.43282214506172834 +y = 0.3725606031378601 +y = 0.41758261263288754 +y = 0.47397622246692106 +y = 0.48436149012259344 +y = 0.462222758004719 +y = 0.44411586377478934 +y = 0.4446228748662676 +y = 0.4539720784512614 +y = 0.4591722749967687 +y = 0.45753112118915107 +y = 0.4539736831952871 +y = 0.4527190879360086 +y = 0.4537659596983615 +y = 0.45500393252270654 +y = 0.4552026474557314 +y = 0.4546995780878234 +``` +![Скриншот построенного графика](Figure2.png) +## 9. Завершение работы со средой. +Сохранила файлы отчета в своем рабочем каталоге и закончила сеанс работы с IDLE. \ No newline at end of file diff --git a/TEMA9/task.md b/TEMA9/task.md new file mode 100644 index 0000000..a5a5cde --- /dev/null +++ b/TEMA9/task.md @@ -0,0 +1,89 @@ +# Общее контрольное задание по теме 9 + +Беженарь Алёна, А-02-23 + +## Задание + +Создайте и запишите в модуль класс, содержащий следующие компоненты: +* конструктор, задающий четырем атрибутам (fio, otdel, dolzhnost, oklad), представляющим фамилии сотрудников, название отделов, названия должностей сотрудников и размеры их окладов, некоторые начальные значения; +* метод для обеспечения операции повышения оклада сотрудника на заданное значение; +* метод для обеспечения перевода сотрудника из одного отдела в другой; +* метод для изменения должности сотрудника; +* свойство, содержащее перечень (список) поощрений сотрудника. + +Создайте 2 экземпляра класса, задайте им некоторые значения атрибутов и свойства. Отобразите эти значения. Попробуйте с этими экземплярами операции перевода из отдела в отдел, изменения должности и оклада, объявления благодарности. + +## Решение +```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=[] + 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 + 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} + """) +``` +```py +>>> from Employee import Employee +>>> employee1 = Employee("Киреев Ю.П.", "Отдел по развлечению клиентов", "Клоун", 100000) +>>> employee2 = Employee("Володин Д.В.", "Отдел инноваций", "программист БЯМов", 150000) +>>> employee1.get_employee_info() # Отображение полной информации об экземпляре класса + + ФИО: Киреев Ю.П. + Отдел: Отдел по развлечению клиентов + Должность: Клоун + Оклад: 100000 руб. + Поощрения: [] + +>>> employee2.get_employee_info() + + ФИО: Володин Д.В. + Отдел: Отдел инноваций + Должность: программист БЯМов + Оклад: 150000 руб. + Поощрения: [] + +>>> employee1.change_otdel("Отдел по работе с клиентами") # Изменение отдела +>>> employee1.change_oklad(5000) # Изменение оклада +>>> employee2.change_oklad(-5000) # Изменение оклада +>>> employee2.change_dolzhnost("БЯМовед") # Изменение должности +>>> employee1.set_pooshreniya("Почетная грамота") # Добавление поощрения +>>> employee2.set_pooshreniya("Медаль") +>>> employee1.get_employee_info() # Отображение полной информации об экземпляре класса + + ФИО: Киреев Ю.П. + Отдел: Отдел по работе с клиентами + Должность: Клоун + Оклад: 105000 руб. + Поощрения: ['Почетная грамота'] + +>>> employee2.get_employee_info() + + ФИО: Володин Д.В. + Отдел: Отдел инноваций + Должность: БЯМовед + Оклад: 145000 руб. + Поощрения: ['Медаль'] +``` \ No newline at end of file