Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /