ar
Feedback
Python | Вопросы собесов

Python | Вопросы собесов

الذهاب إلى القناة على Telegram

📈 نظرة تحليلية على قناة تيليجرام Python | Вопросы собесов

تُعد قناة Python | Вопросы собесов (@python_easy_ru) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 13 109 مشتركاً، محتلاً المرتبة 9 732 في فئة التكنولوجيات والتطبيقات والمرتبة 50 668 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 13 109 مشتركاً.

بحسب آخر البيانات بتاريخ 05 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -48، وفي آخر 24 ساعة بمقدار -5، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 6.21‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 6.02‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 814 مشاهدة. وخلال اليوم الأول يجمع عادةً 789 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 4.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل ставь, модуль, строка, docker, alice.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Cайт: easyoffer.ru Реклама: @easyoffer_adv ВП: @easyoffer_vp Тесты t.me/+20tRfhrwPpM4NDQy Задачи t.me/+nsl4meWmhfQwNDVi Вакансии t.me/+cXGKkrOY2-w3ZTky

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 07 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

13 109
المشتركون
-524 ساعات
-147 أيام
-4830 أيام
أرشيف المشاركات
🤔 Как устроен список? Список (list)— это изменяемая упорядоченная коллекция объектов любого типа. Особенности устройства: - Реализован как динамический массив, который автоматически расширяется при добавлении элементов. - Элементы хранятся по ссылкам, что позволяет хранить смешанные типы. - Обеспечивает быстрый доступ по индексу (O(1)), но вставка и удаление из середины — медленные (O(n)). Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что делает git commit? Команда git commit используется для фиксации изменений в локальном репозитории Git. Она сохраняет текущие изменения в коде (добавленные, изменённые или удалённые файлы), которые были подготовлены с помощью команды git add. По сути, git commit создаёт "снимок" текущего состояния проекта, который можно использовать для отслеживания истории изменений, их анализа или отката к более ранним версиям. 🚩Как это работает? Когда вы работаете с Git, ваши изменения сначала попадают в рабочую директорию. После этого, чтобы зафиксировать их, вы добавляете их в индекс (staging area) с помощью команды git add. Только те изменения, которые находятся в индексе, будут включены в следующий коммит. Команда git commit фиксирует все изменения из staging area и сохраняет их как новую версию в истории проекта. 🚩Почему это нужно? 🟠История изменений Каждый коммит сохраняет подробную информацию о том, что было изменено, когда и почему. Это позволяет отслеживать развитие проекта. 🟠Версионность Можно вернуться к любой точке в истории и восстановить состояние проекта. 🟠Совместная работа В командной разработке коммиты позволяют другим разработчикам видеть изменения и их причины. 🟠Разделение задач Коммиты разбивают изменения на логические единицы, что упрощает их понимание.
# Шаг 1. Внести изменения в файл
echo "Hello, Git!" > example.txt

# Шаг 2. Добавить изменения в staging area
git add example.txt

# Шаг 3. Зафиксировать изменения
git commit -m "Добавил файл example.txt с приветственным текстом"
Ставь 👍 и забирай 📚 Базу знаний

Ищу желающих выполнять задачи с помощью ИИ! Работа полностью на удаленке с зп до 150 000 рублей в месяц. Без опыта, нужен тол
Ищу желающих выполнять задачи с помощью ИИ! Работа полностью на удаленке с зп до 150 000 рублей в месяц. Без опыта, нужен только телефон, занятость 3-6 часов в день. Всему обучат на бесплатном курсе и после возьму на работу: ✅ 3 дня уроков по 30 минут ✅ Домашки с проверкой и оплатой бонусами ✅ Плачу 10 тыс за каждую выполненную домашку Все кто пройдет курс, получат сертификат от школы с образовательной лицензией. ⚡ Набор заканчивается завтра. 👍 Для регистрации жмите кнопку "Зарегистрироваться": Зарегистрироваться #реклама 16+ ganstaagency.com О рекламодателе

🤔 Что такое алгоритм Ричарда Фейнмана? Алгоритм Фейнмана — это метод обучения, который заключается в следующем: 1. Изучи концепт так, чтобы мог объяснить его простыми словами. 2. Найди, что непонятно, и углубись в эти части. 3. Перепиши и уточни объяснение, используя аналогии. Это способ глубокого понимания за счёт упрощения и переобъяснения. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое параллелизм? Параллелизм — это способ выполнения программ, при котором несколько задач выполняются одновременно (реально параллельно). Он используется для ускорения работы программ, особенно на многоядерных процессорах. 🚩1. Как работает параллелизм? Пример без параллелизма (последовательное выполнение) Допустим, у нас есть две задачи: 1. Скачать файл (3 секунды). 2. Обработать данные (2 секунды). Если выполнять их последовательно
[1] Скачать файл... (3 сек)
[2] Обработать файл... (2 сек)
[Готово за 5 секунд]
Пример с параллелизмом (оба процесса выполняются одновременно) Если у нас 2 ядра процессора, можно выполнить задачи одновременно.
[1] Скачать файл... (3 сек) ──► Готово!
[2] Обработать файл... (2 сек) ──► Готово!
[Готово за 3 секунды]  ✅ Быстрее!
🚩Как реализовать параллелизм в Python? 🟠`multiprocessing` – настоящий параллелизм В Python multiprocessing создаёт отдельные процессы, которые работают на разных ядрах.
import multiprocessing
import time

def task(name):
    print(f"Начал {name}")
    time.sleep(2)
    print(f"Закончил {name}")

if __name__ == "__main__":
    p1 = multiprocessing.Process(target=task, args=("Процесс 1",))
    p2 = multiprocessing.Process(target=task, args=("Процесс 2",))

    p1.start()
    p2.start()

    p1.join()
    p2.join()
    print("Все процессы завершены")
🟠`threading` – многопоточность (НЕ параллельность в Python!) Python не может выполнять потоки параллельно из-за GIL, но threading всё же полезен для задач ввода-вывода.
import threading
import time

def task(name):
    print(f"Начал {name}")
    time.sleep(2)
    print(f"Закончил {name}")

t1 = threading.Thread(target=task, args=("Поток 1",))
t2 = threading.Thread(target=task, args=("Поток 2",))

t1.start()
t2.start()

t1.join()
t2.join()
print("Все потоки завершены")
🟠`asyncio` – асинхронность (НЕ параллелизм, но эффективное переключение задач) Асинхронность позволяет не ждать выполнения операции, а переключаться на другие задачи.
import asyncio

async def task(name):
    print(f"Начал {name}")
    await asyncio.sleep(2)  # НЕ блокирует другие задачи
    print(f"Закончил {name}")

async def main():
    await asyncio.gather(task("Задача 1"), task("Задача 2"))

asyncio.run(main())
🚩Виды параллелизма 🟠Параллелизм на уровне инструкций (ILP, CPU-level) Процессор выполняет несколько инструкций одновременно. Например, в современных процессорах есть конвейер (pipeline), который выполняет несколько операций параллельно. 🟠Параллелизм на уровне данных (Data Parallelism) Одна операция применяется к разным данным одновременно (используется в нейросетях, GPU).
import numpy as np

arr = np.array([1, 2, 3, 4])
result = arr * 2  # Все элементы умножаются одновременно (векторизация)
print(result)  # [2 4 6 8]
Ставь 👍 и забирай 📚 Базу знаний

🤔 Где можно хранить бизнес-логику приложения? Бизнес-логику обычно хранят в сервисах или отдельных модулях, предназначенных для обработки данных и реализации правил приложения. 1. В многослойной архитектуре это уровень service или domain. 2. Хранение логики в контроллерах или представлениях считается плохой практикой. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Какие ограничения есть у рекурсии в Python? Рекурсия — это мощный инструмент, но в Python она имеет ограничения, которые нужно учитывать при написании кода. 🟠Ограничение на глубину рекурсии (`sys.getrecursionlimit()`) В Python по умолчанию рекурсия ограничена 1000 вызовами, чтобы избежать переполнения стека.
import sys
print(sys.getrecursionlimit())  # 1000 (обычное значение)
Если превысить этот лимит, программа вызовет ошибку
def recursive():
    return recursive()

recursive()  # RecursionError: maximum recursion depth exceeded
🚩Как изменить лимит? Можно увеличить глубину рекурсии, но это небезопасно
sys.setrecursionlimit(2000)  # Увеличиваем до 2000
🟠Рекурсия требует много памяти Каждый рекурсивный вызов создаёт новый фрейм в стеке вызовов.
def factorial(n):
    if n == 1:
        return 1
    return n * factorial(n - 1)

print(factorial(10000))  # Ошибка из-за переполнения стека
🟠Отсутствие оптимизации хвостовой рекурсии Другие языки (например, Lisp, JavaScript) автоматически оптимизируют хвостовую рекурсию (Tail Call Optimization, TCO). Python не делает этого, поэтому даже "идеальная" рекурсия всё равно переполняет стек.
def tail_recursive(n, acc=1):
    if n == 1:
        return acc
    return tail_recursive(n - 1, n * acc)

print(tail_recursive(1000))  # Всё равно вызовет RecursionError
🟠Рекурсия медленнее цикла Рекурсивный вызов требует больше накладных расходов (создание стек-фреймов), чем обычный for или while.
# Итеративный вариант (быстрее)
def factorial_iter(n):
    result = 1
    for i in range(1, n + 1):
        result *= i
    return result

# Рекурсивный вариант (медленнее)
def factorial_rec(n):
    if n == 1:
        return 1
    return n * factorial_rec(n - 1)
Ставь 👍 и забирай 📚 Базу знаний

Бекэндер или MLщик? Получи офер от VK за выходные! 4-5 октября у нас стартует мы проводим Weekend Offer. За два дня вы можете
Бекэндер или MLщик? Получи офер от VK за выходные! 4-5 октября у нас стартует мы проводим Weekend Offer. За два дня вы можете пройти все этапы и получить офер! Сейчас мы ищем: - бэкенд-разработчиков (Java, Go, Python, C++), - ML-специалистов (RecSys, NLP, CV, Speech, Classic ML) с опытом коммерческой разработки от 3 лет. Ищем классных коллег в свои команды: Поиск, Реклама, Облако, R&D, Дата-платформа и другие. Успевайте зарегистрироваться до 2 октября! Всё по ссылке: Подать заявку #реклама team.vk.company О рекламодателе

🤔 Как можно проитерироваться по листу и вывести некий id последовательности? Для перебора элементов списка с идентификаторами (номерами) можно использовать встроенную функцию enumerate() Параметр start=1 задаёт, с какого номера начинать (по умолчанию с 0). Это удобно, если нужен "человеческий" ID Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Рекламируйте бизнес в МегаФон Таргет со 100% кешбэком До 30 ноября получите кешбэк 100% за запуск рекламы на сумму от 10 000
+1
Рекламируйте бизнес в МегаФон Таргет со 100% кешбэком До 30 ноября получите кешбэк 100% за запуск рекламы на сумму от 10 000 руб Находите новых клиентов для своего бизнеса через рекламную платформу МегаФон Таргет! — На платформе доступен запуск рекламы в Telegram Ads — 100+ готовых сегментов аудитории из базы Big Data МегаФона ПроБизнес — Более 78 млн потенциальных клиентов — Выгодная цена за смс от 3,5 руб — И многое другое Получить предложение #реклама megafon.ru О рекламодателе

🤔 Что такое многопоточность/многопроцессорность? В программировании многопоточность и многопроцессорность помогают выполнять задачи параллельно, но работают по-разному. 🟠Многопоточность (Multithreading) Многопоточность позволяет одной программе запускать несколько потоков (threads), которые работают одновременно.
import threading
import time

def task(name):
    print(f"{name} начал работу")
    time.sleep(2)
    print(f"{name} завершил работу")

# Создаём два потока
t1 = threading.Thread(target=task, args=("Поток 1",))
t2 = threading.Thread(target=task, args=("Поток 2",))

t1.start()
t2.start()

t1.join()
t2.join()
print("Все потоки завершены")
Вывод
Поток 1 начал работу
Поток 2 начал работу
Поток 1 завершил работу
Поток 2 завершил работу
Все потоки завершены
🟠2. Многопроцессорность (Multiprocessing) Многопроцессорность запускает отдельные процессы, которые работают полностью независимо и могут использовать разные ядра процессора.
import multiprocessing
import time

def task(name):
    print(f"{name} начал работу")
    time.sleep(2)
    print(f"{name} завершил работу")

if __name__ == "__main__":
    p1 = multiprocessing.Process(target=task, args=("Процесс 1",))
    p2 = multiprocessing.Process(target=task, args=("Процесс 2",))

    p1.start()
    p2.start()

    p1.join()
    p2.join()
    print("Все процессы завершены")
Вывод (процессы действительно работают параллельно)
Процесс 1 начал работу
Процесс 2 начал работу
Процесс 1 завершил работу
Процесс 2 завершил работу
Все процессы завершены
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что такое dict comprehensions? Это способ быстро создать словарь из другого итерируемого объекта, задав, как именно формируются ключи и значения. Такой подход делает код компактным и читаемым, особенно когда нужно создать словарь на основе списка или другого словаря. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🤔 Что такое хешируемые типы данных? Это такие типы данных, которые имеют постоянное (неизменяемое) хеш-значение на протяжении всего времени их существования. Это означает, что их можно использовать в качестве ключей в словарях (dict) и элементов в множествах (set), так как они поддерживают вычисление хеша с помощью функции hash(). 🚩Как понять, что объект хешируемый? 🟠Объект должен быть неизменяемым если объект можно изменить после создания, его хеш тоже изменится, что нарушает работу структур данных (словари, множества). 🟠Должен реализовывать метод `__hash__()` который возвращает уникальный идентификатор объекта. 🚩Какие типы данных хешируемые? Числа (int, float, complex)
  print(hash(42))       # 42
  print(hash(3.14))     # 322818021289917443
  print(hash(1 + 2j))   # 8389048192121911274
Строки (str)
print(hash("hello"))  # Например, 5320385861927423548
Кортежи (tuple), если все их элементы тоже хешируемые:
print(hash((1, 2, 3)))  # 529344067295497451
Булевы значения (bool):
  print(hash(True))   # 1
  print(hash(False))  # 0
🚩Какие типы НЕ хешируемые? Списки (list)
hash([1, 2, 3])  # TypeError: unhashable type: 'list'
Множества (set)
hash({1, 2, 3})  # TypeError: unhashable type: 'set'
Словари (dict)
hash({"a": 1})  # TypeError: unhashable type: 'dict'
🚩Почему это важно? Хешируемые типы используются в словари (dict) и множества (set), так как они используют хеш-функцию для быстрого поиска данных.
my_dict = { (1, 2, 3): "tuple_key" }  # Работает, потому что кортеж неизменяемый
my_set = { 42, "hello", (1, 2) }      # Все элементы хешируемые
Ставь 👍 и забирай 📚 Базу знаний

🤔 Чем асинхронность отличается от многопоточности? - Асинхронность не использует дополнительные потоки, работает в одном, переключаясь между задачами; - Многопоточность использует несколько потоков ОС, где каждый может работать независимо; Асинхронность экономичнее по ресурсам, но подходит только для неблокирующих I/O-задач. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

Планы на пятницу в Нижнем — сходить на VK JT Meetup Привет, на связи VK! 3 октября мы собираем Java-разработчиков и ML-инжене
Планы на пятницу в Нижнем — сходить на VK JT Meetup Привет, на связи VK! 3 октября мы собираем Java-разработчиков и ML-инженеров. Основная часть — доклады от наших лидов. Поговорим про Service Discovery в облаке, устройство единой платформы поиска VK, поделимся гайдом для выпуска готового RAG в прод. А дальше два потока на выбор: нетворкинг и командные решения кейсов на реальной архитектуре VK. Приходите задавать вопросы лидам, выигрывать призы и оставайтесь на ламповое афтепати! Нижний Новгород, только офлайн 📅 3 октября Участие по регистрации Подать заявку #реклама 16+ team.vk.company О рекламодателе

🤔 Что такое set? Это неупорядоченная коллекция уникальных элементов в Python. Это одна из встроенных структур данных языка, которая используется, когда вам нужно работать с наборами данных, исключая дубликаты и выполняя операции над множествами (например, пересечение, объединение и разность). 🚩Основные характеристики `set` 🟠Неупорядоченность Элементы множества не имеют фиксированного порядка, то есть вы не можете обращаться к элементам по индексу, как в списках или кортежах. 🟠Уникальность элементов Во множестве не может быть дубликатов. Если вы добавите во множество несколько одинаковых элементов, они будут храниться как один экземпляр. 🟠Изменяемость Множества в Python изменяемы: вы можете добавлять, удалять и изменять их элементы. Однако сами элементы множества должны быть неизменяемыми (например, числа, строки, кортежи). 🟠Быстродействие Операции проверки принадлежности (in), добавления и удаления элементов работают очень быстро, благодаря использованию хэш-таблиц в реализации множества. 🚩Создание множества 🟠Пустое множество Для создания пустого множества используется функция set(), так как {} создаёт пустой словарь
empty_set = set()
print(empty_set)  # Output: set()
🟠Создание множества с элементами Вы можете передать список, строку, кортеж или другой итерируемый объект в функцию set().
# Создание множества из списка
numbers = set([1, 2, 3, 4, 5])
print(numbers)  # Output: {1, 2, 3, 4, 5}

# Создание множества из строки (уникальные символы)
chars = set("hello")
print(chars)  # Output: {'h', 'e', 'l', 'o'}  (порядок может быть разным)
🟠Использование литералов Вы также можете использовать фигурные скобки {} для создания множества
fruits = {"apple", "banana", "cherry"}
print(fruits)  # Output: {'apple', 'banana', 'cherry'}
🚩Основные операции с множествами 🟠Добавление элементов Используется метод add()
my_set = {1, 2, 3}
my_set.add(4)
print(my_set)  # Output: {1, 2, 3, 4}
🟠Удаление элементов remove() — удаляет элемент, выбрасывая ошибку, если его нет. discard() — удаляет элемент, не выбрасывая ошибку, если его нет.
my_set = {1, 2, 3}
my_set.remove(2)  # Удаляем элемент 2
print(my_set)  # Output: {1, 3}

my_set.discard(5)  # Ошибки не будет, если элемента 5 нет
pop() — удаляет и возвращает случайный элемент (так как множество неупорядочено)
my_set = {1, 2, 3}
removed_element = my_set.pop()
print(removed_element)  # Например: 1
print(my_set)  # Например: {2, 3}
🟠Очистка множества
my_set = {1, 2, 3}
my_set.clear()
print(my_set)  # Output: set()
🟠Проверка наличия элемента Используется оператор in
my_set = {1, 2, 3}
print(2 in my_set)  # Output: True
print(5 in my_set)  # Output: False
🚩Операции над множествами Python поддерживает классические операции теории множеств: 🟠Объединение (`union` или `|`) Возвращает множество, содержащее все элементы из двух множеств.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2)  # Output: {1, 2, 3, 4, 5}
print(set1.union(set2))  # То же самое
🟠Пересечение (`intersection` или `&`) Возвращает элементы, которые присутствуют в обоих множествах.
print(set1 & set2)  # Output: {3}
print(set1.intersection(set2))  # То же самое
🟠Разность (`difference` или `-`) Возвращает элементы, которые присутствуют только в одном множестве (а не в другом).
print(set1 - set2)  # Output: {1, 2} (только в set1)
print(set1.difference(set2))  # То же самое
🟠Симметрическая разность (`symmetric_difference` или `^`) Возвращает элементы, которые есть в одном из множеств, но не в обоих сразу.
print(set1 ^ set2)  # Output: {1, 2, 4, 5}
print(set1.symmetric_difference(set2))  # То же самое
🚩Неизменяемое множество (`frozenset`) Если вам нужно создать множество, которое нельзя изменить, используйте frozenset
frozen = frozenset([1, 2, 3])
print(frozen)  # Output: frozenset({1, 2, 3})

# frozen.add(4)  # Ошибка: 'frozenset' object has no attribute 'add'
Ставь 👍 и забирай 📚 Базу знаний

🤔 Какой алгоритм работы CSRF middleware? Защищает Django-приложения от поддельных запросов. Алгоритм работы: 1. При загрузке формы сервер вставляет CSRF-токен в скрытое поле 2. При отправке запроса клиент должен отправить этот токен в заголовке 3. Django сверяет токен с тем, что хранится в сессии пользователя 4. Если токены не совпадают, запрос отклоняется Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний

🔍Тестовое собеседование на Middle Python в четверг с разработчиком из Авито 25 сентября(в четверг) в 19:00 по мск приходи он
🔍Тестовое собеседование на Middle Python в четверг с разработчиком из Авито 25 сентября(в четверг) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика. Как это будет: 📂 Даня, старший разработчик в Авито, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Даня будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Дане Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot Реклама. О рекламодателе.

🤔 Что такое CRUD? CRUD — это аббревиатура из четырех основных операций с данными: C (Create) – создание R (Read) – чтение U (Update) – обновление D (Delete) – удаление 🚩Разберем CRUD на примере работы с базой данных в Python 🟠Create (Создание) Добавление новой записи в базу данных.
import sqlite3

conn = sqlite3.connect("example.db")
cursor = conn.cursor()

# Создаем таблицу, если её нет
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")

# Добавляем пользователя
cursor.execute("INSERT INTO users (name) VALUES (?)", ("Алиса",))

conn.commit()  # Сохраняем изменения
conn.close()
🟠Read (Чтение) Получение данных из базы.
conn = sqlite3.connect("example.db")
cursor = conn.cursor()

cursor.execute("SELECT * FROM users")
users = cursor.fetchall()  # Получаем все записи

for user in users:
    print(user)

conn.close()
🟠Update (Обновление) Изменение существующей записи.
conn = sqlite3.connect("example.db")
cursor = conn.cursor()

cursor.execute("UPDATE users SET name = ? WHERE id = ?", ("Боб", 1))

conn.commit()
conn.close()
🟠Delete (Удаление) Удаление записи из базы.
conn = sqlite3.connect("example.db")
cursor = conn.cursor()

cursor.execute("DELETE FROM users WHERE id = ?", (1,))

conn.commit()
conn.close()
Ставь 👍 и забирай 📚 Базу знаний

🤔 Что даёт Poetry? Это инструмент для управления зависимостями и пакетов Python. 1. Упрощает установку, обновление и управление зависимостями через файл pyproject.toml. 2. Поддерживает изоляцию зависимостей, автоматически создавая виртуальное окружение. 3. Помогает публиковать собственные Python-пакеты в PyPI, упрощая процесс сборки и выпуска. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний