dm hace 3 meses
padre
commit
002ca514a5

+ 28 - 14
.obsidian/workspace.json

@@ -22,21 +22,35 @@
             }
           },
           {
-            "id": "78eb8e35cbfb09f3",
+            "id": "12bd198e48783a8a",
             "type": "leaf",
             "state": {
               "type": "markdown",
               "state": {
-                "file": "Text 4.md",
+                "file": "Django/common.md",
                 "mode": "source",
                 "source": false
               },
               "icon": "lucide-file",
-              "title": "Text 4"
+              "title": "common"
+            }
+          },
+          {
+            "id": "8c6a613404b59e32",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "todo/Задачи по направлениям.md",
+                "mode": "source",
+                "source": false
+              },
+              "icon": "lucide-file",
+              "title": "Задачи по направлениям"
             }
           }
         ],
-        "currentTab": 1
+        "currentTab": 2
       }
     ],
     "direction": "vertical"
@@ -58,7 +72,7 @@
                 "sortOrder": "alphabetical"
               },
               "icon": "lucide-folder-closed",
-              "title": "Файловый менеджер"
+              "title": "Files"
             }
           },
           {
@@ -144,18 +158,20 @@
   },
   "left-ribbon": {
     "hiddenItems": {
-      "switcher:Меню быстрого перехода": false,
-      "graph:Граф": false,
-      "canvas:Создать новый холст": false,
-      "command-palette:Открыть палитру команд": false,
-      "markdown-importer:Импорт Markdown-файлов": false
+      "switcher:Open quick switcher": false,
+      "graph:Open graph view": false,
+      "canvas:Create new canvas": false,
+      "command-palette:Open command palette": false,
+      "markdown-importer:Open format converter": false
     }
   },
-  "active": "78eb8e35cbfb09f3",
+  "active": "8c6a613404b59e32",
   "lastOpenFiles": [
+    "Python/function основное.md",
+    "Python/venv.md",
+    "Django/common.md",
     "todo/Задачи по направлениям.md",
     "Text 4.md",
-    "Python/function основное.md",
     "proGit.md",
     "ROTEK/universal IO/universal IO.md",
     "ROTEK/universal IO/Test HV.md",
@@ -168,7 +184,6 @@
     "todo/Тренировки и занятия.md",
     "Python/common.md",
     "Python/Архитектура.md",
-    "Python/venv.md",
     "Python/sort.md",
     "configs/tab_wg.conf",
     "configs/tab_wg.conf.txt",
@@ -176,7 +191,6 @@
     "configs/phone_wg.conf.txt",
     "configs/wg0_new.conf",
     "configs/wg0_new.conf.txt",
-    "Django/common.md",
     "English/Text 3.md",
     "English/Homework.md",
     "English/Text 2.md",

+ 42 - 0
Python/function основное.md

@@ -268,3 +268,45 @@ def decorator_factory(a, b):
 def original_func(10, 20):
 	print('Запуск оригинальной функции')
 ```
+
+~={green}Итераторы=~
+- ~={magenta}Итерация=~ - процесс перебора элементов объекта в цикле
+- ~={magenta}Итерируемый объект=~ - это объект, который поддерживает итерацию.
+- ~={magenta}Итератор=~ - это специальный объект-перечислитель, обязанность которого заключается в перемещении элементов коллекции. Итератор выдает по одному следующий элемент последовательности. Когда элементов больше не останется, он выбросит исключение StopIteration. Любой объект, который может взаимодействовать с функцией ~={magenta}next=~, считается итератором.
+```python
+# создание итератора
+my_str = 'qwery'
+iterator = iter(my_str)
+```
+next() - получает следующее значения итератора
+```python
+my_list = [1, 2, 3, 4, 5]
+it = iter(my_list)
+print(next(it)) # получаем первый элемент из итератора
+print(next(it)) # получаем второй элемент из итератора
+print(next(it))
+print(next(it))
+print(next(it)) # получаем пятый элемент из итератора
+
+# следующий вызов next(it) выбросит исключение StopIteration
+# print(next(it))
+```
+~={magenta}Цикл for =~при помощи ~={magenta}iter=~ запрашивает у объекта его ~={magenta}итератор=~.
+```python
+s = 'Python'
+for letter in s:
+    print(letter)
+
+# for будет развернут в:
+s = 'Python'
+
+it = iter(s)
+while True:
+    try:
+        print(next(it))
+    except StopIteration:
+        del it
+        break
+```
+~={magenta}Итератор=~ - это не сама коллекция, а механизм обхода элементов или способ получения следующего элемента в коллекции. Поэтому итераторы намного эффективнее расходуют память в отличие от итерируемых объектов.
+Функции ~={magenta}map, filter, zip, enumerate, open=~ возвращают ~={magenta}итератор=~.

+ 2 - 0
todo/Задачи по направлениям.md

@@ -8,6 +8,8 @@
 - [x] Пройти раздел 5.10 в Python Function 29 декабря.
 - [x] Пройти раздел 5.11 в Python Function до 10 января
 - [x] Пройти раздел 5.12 в Python Function до 13 января
+- [x] Пройти раздел 6.1 в Python Function
+- [ ] Пройти раздел 6.2 до 14 января
 <h6>Финансы:</h6>
 - [x] Разобраться со вкладом в ПСБ
 - [ ] Открыть новый вклад 16 января