From 6cab258c907c5f13c689ae195eb45157e066319b Mon Sep 17 00:00:00 2001 From: Dmitry Kolomeytsev Date: Mon, 15 Dec 2025 10:00:52 +0300 Subject: [PATCH] task done --- TEMA9/report.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/TEMA9/report.md b/TEMA9/report.md index f7e4191..9b104f9 100644 --- a/TEMA9/report.md +++ b/TEMA9/report.md @@ -19,14 +19,14 @@ Классы могут быть автономными, т.е. независящими от других классов: ```py ->>> class Class1: # Объявление класса -... def zad_zn(self, znach): # Метод класса для задания значения поля data +>>> class Class1: +... def zad_zn(self, znach): ... self.data = znach -... def otobrazh(self): # Метод класса для отображения значения поля data +... def otobrazh(self): ... print(self.data) ... ->>> z1 = Class1() # Создание 1-го экземпляра класса ->>> z2 = Class1() # Создание 2-го экземпляра класса +>>> z1 = Class1() +>>> z2 = Class1() >>> z1.zad_zn("Экземпляр класса 1") >>> z2.zad_zn(-632.453) >>> z1.otobrazh() @@ -43,8 +43,8 @@ Также классы могут наследоваться от других классов, т.е. иметь такие же поля данных как и класс-родитель и имплементировать его методы, которые можно переопределять. ```py ->>> class Class2(Class1): # Объявление класса-наследника другого класса -... def otobrazh(self): # Переопределение метода класса-родителя +>>> class Class2(Class1): +... def otobrazh(self): ... print("Значение =", self.data) ... >>> z3 = Class2() @@ -89,7 +89,7 @@ def otobrazh(obj): File "/home/s0ba4/mpei/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.data = "Значение поля data у экземпляра 4" # Явная инициализация поля data >>> z4.otobrazh() # Использован метод для отображения значения поля, описанный в Class1 Значение поля data у экземпляра 4 ``` @@ -99,9 +99,9 @@ def otobrazh(obj): >>> import Mod3 >>> z4 = Mod3.Class2() >>> z4.zad_zn("Класс из модуля") ->>> z4.otobrazh() # Использован метод для отображения значения поля, описанный в Class2 +>>> z4.otobrazh() # Использован метод для отображения значения поля, описанный в Class2 Значение = Класс из модуля ->>> Mod3.otobrazh("Объект") # Использована функция otobrazh +>>> Mod3.otobrazh("Объект") Значение объекта = Объект ``` @@ -113,11 +113,11 @@ def otobrazh(obj): ```py >>> class Class3(Class2): -... def __init__(self, znach): # Специальный метод-конструктор +... def __init__(self, znach): ... self.data = znach -... def __add__(self, another_zn): # Специальный метод для сложения +... def __add__(self, another_zn): ... return Class3(self.data + another_zn) -... def zad_another_zn(self, povtor): # Обычный пользовательский метод +... def zad_another_zn(self, povtor): ... self.data *= povtor ... >>> z5 = Class3("abc") @@ -140,7 +140,7 @@ def otobrazh(obj): ['__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 = "Иванов И.И." >>> z7 = Class3(123) ->>> dir(z7) # Отображение списка атрибутов объекта класса после добавления в него поля fio +>>> 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