From 33d7ec3d0c164b070dd157012f96abd1bc00306f Mon Sep 17 00:00:00 2001 From: yakimka Date: Sun, 15 Sep 2024 16:09:37 +0300 Subject: [PATCH 1/6] Update questions.md --- questions.md | 1 + 1 file changed, 1 insertion(+) diff --git a/questions.md b/questions.md index f9d99fc..de5288a 100644 --- a/questions.md +++ b/questions.md @@ -1642,6 +1642,7 @@ class MyClass(BaseClass, metaclass=Singleton): ## Что такое garbage collector. В чём его плюсы и минусы - [Всё, что нужно знать о сборщике мусора в Python](https://habr.com/ru/post/417215/) +- [CPython Garbage Collection: The Internal Mechanics and Algorithms](https://blog.codingconfessions.com/p/cpython-garbage-collection-internals) GC (generational garbage collector) - это сборщик мусора, создавался он в первую очередь для обнаружения и удаления циклических ссылок. `gc` является встроенным в python модулем и при необходимости его можно выключить и запускать вручную (или не запускать). Чтобы понимать для чего был создан GC нужно понимать как в Python работает менеджер памяти и как эта память высвобождается. From a19d2ebf069dacaa069a4facf1ad4fdfdcd09f3c Mon Sep 17 00:00:00 2001 From: Daniel <92018069+DanyaIzm@users.noreply.github.com> Date: Sat, 26 Oct 2024 23:50:35 +0300 Subject: [PATCH 2/6] Update questions.md (#20) (#22) --- README.md | 2 +- questions.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 267aed7..64d45b9 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ + [В каких случаях можно обработать SyntaxError](questions.md/#В-каких-случаях-можно-обработать-SyntaxError) + [Можно ли создавать собственные исключения](questions.md/#Можно-ли-создавать-собственные-исключения) + [Для чего нужны предупреждения (warnings) и как создать собственное](questions.md/#Для-чего-нужны-предупреждения-warnings-и-как-создать-собственное) - + [Для чего нужен модуль warning](questions.md/#Для-чего-нужен-модуль-warning) + + [Для чего нужен модуль warnings](questions.md/#Для-чего-нужен-модуль-warnings) * [Декораторы](questions.md/#Декораторы) + [Что такое декораторы. Зачем нужны](questions.md/#Что-такое-декораторы-Зачем-нужны) + [Что может быть декоратором. К чему может быть применен декоратор](questions.md/#Что-может-быть-декоратором-К-чему-может-быть-применен-декоратор) diff --git a/questions.md b/questions.md index de5288a..7a9fc07 100644 --- a/questions.md +++ b/questions.md @@ -929,9 +929,9 @@ except ZeroDivisionError: Базовым классом для предупреждений является Warning, который наследуется от Exception. Базовым классом-наследником Warning для пользовательских предупреждений является UserWarning. -### Для чего нужен модуль warning +### Для чего нужен модуль warnings -В модуле warning собраны функции для работы с предупреждениями. +В модуле warnings собраны функции для работы с предупреждениями. Основной является функция warn, которая принимает один обязательный параметр message, который может быть либо строкой-сообщением, либо экземпляром класса или подкласса Warning (в таком случае параметр category устанавливается автоматически) и два опциональных параметра: category (по умолчанию – UserWarning) – класс предупреждения и stacklevel (по умолчанию – 1) – уровень вложенности функций, начиная с которого необходимо выводить содержимое стека вызовов (полезно, например, для функций-обёрток для вывода предупреждений, где следует задать stacklevel=2, чтобы предупреждение относилось к месту вызова данной функции, а не самой функции). ## Декораторы From ae4c5061aa750f1c5b92c64da82561cb599631cb Mon Sep 17 00:00:00 2001 From: AndreyChiz Date: Sun, 24 Nov 2024 16:06:40 +0400 Subject: [PATCH 3/6] add most common list methods (#23) --- questions.md | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/questions.md b/questions.md index 7a9fc07..4cecbad 100644 --- a/questions.md +++ b/questions.md @@ -72,7 +72,43 @@ На уровне языка отличаются тем, что в кортеж нельзя добавить или убрать элемент. На уровне интерпретатора различий нет. Обе коллекции представлены массивом указателей на структуру `PyObject`. -Для списка определены функции, которые добавляют в такой массив новый элемент, удаляют имеющийся, соединяют два массива в один. Они вызываются методами списка `.append()`, `.pop()`, `.sort()` и т.д. +Существуют специальные функции для работы со списками. Они вызываются методами списка. Ниже приведены наиболее часто используемые. + +```python +# Создаем исходный список +lst = [1, 2, 3] + +# append(x): добавляет элемент в конец списка +lst.append(4) +# Теперь lst = [1, 2, 3, 4] + +# extend(iterable): расширяет список, добавляя элементы из итерируемого объекта +lst.extend([5, 6]) +# Теперь lst = [1, 2, 3, 4, 5, 6] + +# insert(i, x): вставляет элемент x на позицию i +lst.insert(0, 'start') +# Теперь lst = ['start', 1, 2, 3, 4, 5, 6] + +# remove(x): удаляет первое вхождение элемента x +lst.remove(3) +# Теперь lst = ['start', 1, 2, 4, 5, 6] + +# pop([i]): удаляет и возвращает элемент на позиции i (по умолчанию последний) +last = lst.pop() +# last = 6, а lst = ['start', 1, 2, 4, 5] + +# sort(): сортирует список на месте +lst = [3, 1, 4, 1, 5, 9, 2] +lst.sort() +# Теперь lst = [1, 1, 2, 3, 4, 5, 9] + +# reverse(): разворачивает список на месте +lst.reverse() +# Теперь lst = [9, 5, 4, 3, 2, 1, 1] +``` + + ### Что такое диапазон From 7bd2b608a371ed99fd987fbf6a82e0f57991c34d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Apr 2025 16:55:36 +0300 Subject: [PATCH 4/6] Add renovate.json (#26) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- renovate.json | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 renovate.json diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..5db72dd --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +} From e364d2cc9828893b488fb3f37913dbe0997ca039 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 16 Apr 2025 16:57:44 +0300 Subject: [PATCH 5/6] Update actions/checkout action to v4 (#28) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci-workflow.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-workflow.yml b/.github/workflows/ci-workflow.yml index fd693ee..b43a5fa 100644 --- a/.github/workflows/ci-workflow.yml +++ b/.github/workflows/ci-workflow.yml @@ -6,7 +6,7 @@ jobs: check-toc: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Run run: make toc-check @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Get TAG if: startsWith(github.ref, 'refs/tags/') run: echo "TAG=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV From d4e0aed6ee8a20e92375d53f11aeac0ace78d2e9 Mon Sep 17 00:00:00 2001 From: _alex <146246237+AlHudnitskii@users.noreply.github.com> Date: Sun, 14 Sep 2025 23:27:02 +0300 Subject: [PATCH 6/6] strack -> stack.md (#33) --- questions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/questions.md b/questions.md index 4cecbad..7eddbfc 100644 --- a/questions.md +++ b/questions.md @@ -4950,7 +4950,7 @@ print(quicksort([10, 5, 2, 3])) ## Очередь и стек -Очередь FIFO (first in first out), стрек LIFO (last in first out) +Очередь FIFO (first in first out), стек LIFO (last in first out) ## Дерево