Skip to content

Commit 44b9cc1

Browse files
authored
Update README.md
1 parent f18534c commit 44b9cc1

File tree

1 file changed

+45
-33
lines changed

1 file changed

+45
-33
lines changed

README.md

Lines changed: 45 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
При создании класса мы упрощаем его до тех атрибутов и методов, которые нужны именно в этом коде, не пытаясь описать его целиком и отбрасывая всё второстепенное.
1313
____
1414

15-
**Class
15+
**Class**
1616
-данные(свойства)
1717
> prop = ‘value’
1818
- методы(действия)
@@ -21,28 +21,28 @@ ____
2121
> self.y = y
2222
>
2323
24-
**Добавить св-во
24+
**Добавить св-во**
2525
> Сlass.prop = ‘value’
2626
> setattr(Class, ‘prop’, ‘value’)
2727
28-
**Читать св-во
28+
**Читать св-во**
2929
> c = Сlass.prop - если нет св-ва, возвращает ошибку
3030
> getattr(Class, prop, False) - если нет св-ва, возвращает третий аргумент
3131
32-
**Наличие св-ва
32+
**Наличие св-ва**
3333
> hasattr(Class, prop) - учитывает наследование
3434
3535
**Удалить св-во
3636
> del Сlass.prop - если нет св-ва, возвращает ошибку
3737
> delattr(Class, prop) - если нет св-ва, возвращает ошибку
3838
39-
**Пространство имен
39+
**Пространство имен**
4040
> Class.__dict__
4141
42-
**Все свойства экз.класса
42+
**Все свойства экз.класса**
4343
> dir(obj)
4444
45-
**Описание класса, комментарий
45+
**Описание класса, комментарий**
4646
> Class.__doc__
4747
4848
**Метод класса**
@@ -57,20 +57,19 @@ ____
5757
> return x*x + y*y
5858
>
5959
60-
**Режим доступа (механизм инкапсуляции)
60+
**Режим доступа (механизм инкапсуляции)**
6161
> attr - публичное свойство
6262
> _attr - режим доступа protected
6363
> __attr - режим доступа private
6464
6565
> pip install accessify - защитить методы от внешнего доступа
6666
____
6767

68-
**Магические методы - методы, которые вызываются интерпретатором для выполнения различных операций над объектами.
68+
**Магические методы** - методы, которые вызываются интерпретатором для выполнения различных операций над объектами.
6969

7070
| Метод | Что делает |
7171
|----------------:|----------------:|
72-
| __new__(cls)
73-
return super().__new__(cls) | Создание объекта cls ссылается на текущий класс должен возвращать адрес нового созданного объекта |
72+
| __new__(cls) return super().__new__(cls) | Создание объекта cls ссылается на текущий класс должен возвращать адрес нового созданного объекта |
7473
| __init__(self) | Инициализатор объекта |
7574
| __del__(self) | Финализатор объекта |
7675
| __setattr__(self, key, value) | Автоматически вызывается при изменении свойства key класса |
@@ -102,31 +101,44 @@ ____
102101

103102
____
104103

105-
**Oбъект-свойство property
106-
| объект-свойство property
107-
1. prop = property (getter, setter)
108-
109-
2. @property
110-
def name(self):
111-
return self.__name
112-
113-
@name.setter
114-
def name(self, name):
115-
self.__name = name
116-
117-
@name.deleter
118-
def name(self):
119-
del self.__name | Для работы с приватными локальными свойствами экземпляров классов |
120-
| коллекция __slots__
121-
__slots__ = (’x’, ‘y’) | Ограничивает допустимый набор имен атрибутов объекта только перечисленными именами
122-
- ограничение создаваемых локальных свойств
123-
- уменьшение занимаемой памяти, атрибут __dict__ удаляется
124-
- ускорение работы с локальными свойствами |
104+
**Oбъект-свойство property**
105+
> объект-свойство property
106+
> 1. prop = property (getter, setter)
107+
>
108+
> 2. @property
109+
> def name(self):
110+
> return self.__name
111+
>
112+
> @name.setter
113+
> def name(self, name):
114+
> self.__name = name
115+
>
116+
> @name.deleter
117+
> def name(self):
118+
> del self.__name | Для работы с приватными локальными свойствами экземпляров классов
119+
120+
> коллекция __slots__
121+
> __slots__ = (’x’, ‘y’) | Ограничивает допустимый набор имен атрибутов объекта только перечисленными именами
122+
> - ограничение создаваемых локальных свойств
123+
> - уменьшение занимаемой памяти, атрибут __dict__ удаляется
124+
> - ускорение работы с локальными свойствами
125125
____
126126

127-
**Метакласс:
128-
![]()
127+
**Метакласс:**
128+
![](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/img/img1.PNG)
129+
![](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/img/img2.PNG)
130+
131+
**Dataclass:**
132+
![](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/img/img3.PNG)
133+
![](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/img/img4.PNG)
134+
135+
**Дескриптор:**
136+
![](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/img/img5.PNG)
129137

138+
____
139+
![](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/img/img6.PNG)
140+
141+
____
130142

131143
[ОOП Python :point_left:](https://github.com/Dv-nn/Python--Object-Oriented-Programming/blob/main/ОOП_Python.pdf)
132144

0 commit comments

Comments
 (0)