[PYTHON:TODAY]
62.5K subscribers
2.14K photos
951 videos
276 files
1.35K links
Python скрипты, нейросети, боты, автоматизация. Всё бесплатно!

Приват: https://boosty.to/pythontoday
YouTube: https://clck.ru/3LfJhM
Канал админа: @akagodlike
Чат: @python2day_chat

Сотрудничество: @web_runner

Канал в РКН: https://clck.ru/3GBFVm
加入频道
🚀 Параллелизм в Python: Многопоточность, Многопроцессорность и Асинхронность — раз и навсегда по полочкам!

Python — не только про скрипты и автоматизацию. Он умеет работать сразу с несколькими задачами параллельно — и делать это красиво. Но тут есть нюансы: GIL, multiprocessing, asyncio... разберём всё!

👨‍💻 Процессы vs Потоки vs Асинхронность

* Процессы (multiprocessing) — как отдельные контейнеры. Изолированы, не делят память. Каждый процесс может использовать своё ядро процессора. Идеально для вычислений.
* Потоки (threading) — живут в одном процессе и делят между собой память. Отлично справляются с задачами, связанными с вводом/выводом (например, скачивание файлов).
* Асинхронность (asyncio) — не параллельность в классическом смысле. Всё работает в одном потоке, но задачи переключаются между собой, не блокируя выполнение. Лучший выбор для работы с сетью.

💬 А что там с GIL?

GIL — глобальная блокировка интерпретатора в Python. Она позволяет одновременно выполняться только одному потоку Python-кода, даже если у тебя 64 ядра. Почему так? Потому что управление памятью в CPython не потокобезопасно.

⚠️ Важно: GIL не мешает использовать multiprocessing, потому что каждый процесс имеет свой интерпретатор.

⚙️ Какой инструмент для чего?

💥 multiprocessing

> Идеален для тяжёлых вычислений на нескольких ядрах.

* Process — запуск нового процесса
* Pool — пул воркеров
* Queue, Pipe — обмен данными
* Manager — разделение объектов между процессами
* Lock, Semaphore — синхронизация
* cpu_count() — сколько у тебя вообще ядер?

⚡️ threading

> Для I/O задач, где важна отзывчивость: загрузка веб-страниц, параллельный логинг и т.д.

* Thread — запуск нового потока
* Timer, Event, Barrier — управление временем и синхронизацией
* enumerate(), current_thread() — управление потоками

🌐 asyncio

> Современный подход: запуск кучи задач внутри одного потока.

* async / await — ключевые слова
* asyncio.run(), asyncio.gather() — запуск корутин
* Поддержка библиотек:

* aiohttp — запросы к сайтам
* aiofiles — работа с файлами

🔒 Условия гонки и безопасность

Race condition (состояние гонки) — когда два потока одновременно хотят изменить одну и ту же переменную. Кто первый встал — того и тапки. Итог: баги, которых потом не найдёшь.

Потокобезопасность достигается через:

* Lock, RLock
* Локальные данные потока (threading.local())


Асинхронность в деталях

Асинхронная программа:

* запускает задачу;
* пока ждёт ответа — делает что-то ещё;
* возвращается к задаче, когда пришёл ответ.

Пример:

import asyncio
import aiohttp

async def fetch(url):
async with aiohttp.ClientSession() as session:
async with session.get(url) as resp:
return await resp.text()

async def main():
html = await fetch('https://example.com')
print(html)

asyncio.run(main())


📌 Главное по теме:

🔧 Сравнение подходов:

📌 multiprocessing
• Параллельность:
• Делит память:
• Для чего: тяжёлые CPU-задачи

📌 threading
• Параллельность: (из-за GIL)
• Делит память:
• Для чего: задачи с вводом/выводом (I/O)

📌 asyncio
• Параллельность:
• Делит память:
• Для чего: сетевые и файловые задачи


🔥 Закрепим:

* Нужна мощь ядра? — multiprocessing
* Много сетевых вызовов и ожиданий? — asyncio
* Быстрая и простая многозадачность? — threading
* GIL — особенность Python, но не приговор

📂 Сохраняй шпаргалку, пригодится!

@python2day

#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
📚 Основы, без которых не построить ни одного алгоритма!

Если ты изучаешь программирование или хочешь наконец понять, чем массив отличается от хеш-таблицы, эта шпаргалка — твой must-have.

✍️ В одном изображении — 9 ключевых структур данных:
🟢Массив
🟢Стек
🟢Очередь и дек
🟢Хеш-таблица
🟢Связанный список
🟢Двоичное дерево поиска
🟢Граф

✔️Для каждой:
🟢простое объяснение,
🟢жизненные примеры,
🟢ключевые задачи и особенности.

Подходит всем, кто готовит себя к интервью, сдаёт экзамены, пишет код на Python, JavaScript, C++ и не только.

💾 Сохраняй себе — это база, к которой ты будешь возвращаться не раз!

#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Более 400 вопрос-ответов, для Python-разработчика на собеседовании с подробными ответами, инструкциями и кодом на русском

➡️ Различия между типами данных
➡️ Что такое лямбда-функция? Какое у неё назначение?
➡️ Может ли быть индекс списка отрицательным?
➡️ Чем отличаются многопоточное и многопроцессорное приложение?
➡️ Что хранится в атрибуте dict?
➡️ Что такое декоратор? Как написать собственный?
➡️ Как проверить файл .py на синтаксические ошибки, не запуская его?
➡️ И д.р

💾 Сохраняй!

#doc #python #cheatsheet #russian
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Полезные методы строк в Python

Мини-шпаргалка, которая поможет писать код быстрее, чище и без гугления каждой мелочи:

.capitalize() — делает первую букву заглавной: 'hello WORLD' → 'Hello world'.
.lower() / .upper() — регистр вниз или вверх.
.center(10, '*') — выравнивает строку по центру с символами вокруг: 'Python' → 'Python'.
.count('0') — считает вхождения символа.
.find() и .index() — находят позиции символов.
.replace() — ищет и заменяет.
.split() — разрезает строку.
.isalnum(), .isnumeric(), .islower(), .isupper() — проверяют, из чего состоит строка.

#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Как работают наиболее популярные механизмы аутентификации?

Разбираем 4 самых популярных способа + картинка, как вы любите

👨‍💻 Когда ты вводишь логин/пароль, используешь SSH или OAuth — под капотом происходит цепочка из обмена ключами, токенами и зашифрованными приветствиями.

Короткий и понятный разбор:

🔐 1. Credentials (логин + пароль)
Самый привычный способ:
➡️ Пароль шифруется через SSL.
➡️ Сервер расшифровывает и сверяет с хешем в базе.
➡️ Возвращает статус.
*Классика, но уязвима при слабых паролях и без MFA.

🖱 2. SSL-сертификаты
➡️ Клиенту отправляется сертификат.
➡️ Проверяется срок действия, авторитет ЦА и домен.
➡️ Если всё ок, генерируется ключ сессии.
*Надёжно, особенно для защищённых соединений (HTTPS).

💬 3. OAuth Tokens
➡️ Клиент запрашивает токен у авторизационного сервера.
➡️ Получает временный ключ доступа к API.
➡️ Сервер валидирует токен при каждом запросе.
*Маст-хэв для работы с внешними API, OAuth 2.0 рулит.

🔑 4. SSH Keys
➡️ Использует пару публичный/приватный ключ.
➡️ Клиент и сервер обмениваются хешами для проверки.
➡️ Доступ разрешается без ввода пароля.
*Безопасно, удобно и идеально для DevOps.

📊Современные приложения часто комбинируют эти механизмы для повышения безопасности.

#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ SQL-шпаргалка, которая спасёт тебе интервью, проект и задницу

Большой мастер-гайд по SQL с подробными примерами, собранный в одном PDF.

Внутри:
💬 Создание баз, таблиц и изменение схем;
💬 Запросы любого уровня: JOIN, GROUP BY, HAVING, PARTITION;
💬 Подзапросы, CTE, оконные функции, ROW_NUMBER, RANK, DENSE_RANK;
💬 VIEW, временные таблицы и дублирование данных;
💬 Работа с датами, строками и преобразованиями;
💬 Удаление дубликатов, чистка данных, сплит по разделителю.
💬 UNION, INTERSECT, EXCEPT — мощный контроль над выборками.

Даже затронуты темы типа разбиения адресов на части, кастомной сортировки и использования ISNULL — всё, что нужно для практики и реальных задач.

🗳 Это не просто список команд — это концентрированный опыт.

Подойдёт для:
➡️Подготовки к SQL-интервью
➡️Анализа данных и BI
➡️Web-разработки с базами
➡️Внедрения SQL в проекты на Python или любом другом языке

📂 Сохраняй, пригодится!

#sql #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
😰 Огромная шпаргалка по Python

📝 Оформлена в виде веб-страницы с удобными гиперссылками под каждый раздел.

➡️ Ключевые слова;
➡️ Встроенные функции;
➡️ Типы данных и функции для работы с ними;
➡️ Классы;
➡️ Исключения;
➡️ Регулярные выражения и много чего интересного.

PDF версия 👇 Лойс 👍

#python #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 20 SQL-команд, которые спасут тебе кучу времени (и нервов)
Хочешь уверенно шарить в базах данных?


Вот с чего стоит начать:

🔍 Работа с данными:
SELECT — вытаскиваем нужное
WHERE — фильтруем по условиям
GROUP BY — группируем по полю
ORDER BY — сортируем как хотим

🔗 Объединение таблиц:
JOIN — просто соедини
INNER JOIN — только совпадения
LEFT JOIN — всё из левой + совпавшее из правой
RIGHT JOIN — наоборот
FULL OUTER JOIN — всё, где есть хоть что-то общее

⚙️ Условия внутри запроса:
CASE WHEN — добавляет конструкцию "если–то" (аналог if–else в SQL)

📊 Агрегация (счётчики и математика):
COUNT() — сколько строк
SUM() — сумма чисел
AVG() — среднее
MIN() / MAX() — минимум и максимум

🧼 Фильтрация и чистка:
DISTINCT — убираем дубли
HAVING — фильтруем после GROUP BY
LIMIT — ограничиваем результат
IN — проверка на вхождение
BETWEEN — диапазоны

📌 Сохрани, пригодится!

#sql #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Большая шпаргалка по Python от А до Я с примерами кода!

Внутри:
➡️ Типы данных и приведение типов;
➡️ Срезы и строки;
➡️ Арифметические и логические операторы;
➡️ Условные конструкции (if / else / elif);
➡️ Списки и их методы;
➡️ Кортежи (tuples);
➡️ Словари (dict);
➡️ Циклы while и for;
➡️ Ввод данных от пользователя;
➡️ Функции и параметры;
➡️ Классы, наследование и многое другое с примерами кода.

👇 Сохрани, чтобы не потерять!

#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Подборка полезных Python-библиотек для разработчиков

Неважно, делаешь ли ты чат-бота, визуализируешь данные, парсишь сайты или автоматизируешь кофеварку на ESP32 — вот топовые библиотеки с разбивкой по категориям:

➡️ Парсинг сайтов
➡️ Машинное обучение
➡️ Обработка данных
➡️ Логирование
➡️ Работа с БД
➡️ Визуализация данных
➡️ GUI и тесты
➡️ Безопасность
➡️ Web и API
➡️ NLP
➡️ IoT и многое другое...

👍 Сохраняй шпаргалку — пригодится в любом проекте.

#python #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
⚔️ Excel vs SQL vs Python — кто кого?

Разработал скрипт, выгрузил данные, открыл таблицу…
А дальше? Чем анализировать? Чем группировать? Где фильтровать?

Вот краткая шпаргалка, как одни и те же действия делаются в Excel, SQL и Python (pandas):
📥 Загрузка данных
🔎 Фильтры
🧮 Суммы, среднее, группировка
🧹 Очистка пропусков
🔗 Джойны
📊 Визуализация и экспорт

🐼 Python (pandas) — идеален для автоматизации, логики, гибкости;
💾 Excel — когда надо быстро вручную глянуть и свести;
🧱 SQL — база, если работаешь напрямую с таблицами БД.

⚡️ Каждый инструмент хорош под свою задачу. А вот кто умеет все три — тот в любой команде как швейцарский нож.

💾 Сохрани пост — как шпаргалку для собеса, апгрейда и чтобы не гуглить в следующий раз group by pandas.

#python #sql #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Как прокачать свой Python-код до максимальной скорости?

Это PDF — must-have для всех, кто устал от медленных скриптов и хочет видеть результат до того, как остынет кофе.

Внутри:
💬 Как устроено время выполнения в Python;
💬 Что тормозит ваш код и как это находить;
💬 Эффективные приёмы работы со списками, словарями и генераторами;
💬 Кеширование, профилировка, компиляция;
💬 Параллелизм: потоки, процессы и asyncio;
💬 Когда пора использовать Numba, Cython или даже переписать куски на C.

👨‍💻 Идеально подойдёт:
🟢Разработчикам, кто работает с аналитикой, парсингом, API.
🟢Тем, кто хочет писать код как SENIOR, а не как «лишь бы работало».

📂 Сохраняем! Оптимизация экономит не только время, но и жизнь процессору.

#doc #python #cheatsheet #article
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Огромная подборка тестовых заданий от разных IT компаний из России и всего мира для прокачки

В репозитории — сотни реальных тестовых заданий от российских и зарубежных IT-компаний. Примеры на Python, фронт, DevOps, дизайн, аналитику и даже геймдев.

Идеально, чтобы:
🖱 потренироваться перед собеседованием;
🖱 собрать мощное портфолио;
🖱 понять, что вообще требуют в индустрии.

📂 Сохраняем, точно пригодится!

#cheatsheet #doc #github
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Большая шпаргалка по Python на русском

➡️ Приручаем Python списки
➡️ Работаем со словарями
➡️ Операции над множествами
➡️ Именованный кортеж
➡️ Функции-генераторы и многое другое

👍

#python #doc #cheatsheet #russian
Please open Telegram to view this post
VIEW IN TELEGRAM
✍️ Учебник выживания для backend-разработчика на русском!

Хочешь войти в бэкенд — но не знаешь с чего начать?
Вот именно та карта, которую ты искал.

Один из самых подробных и человечных роадмапов по backend-разработке с полного нуля.
Не просто список тем — это пошаговый путь, разбитый на этапы, с приоритетами, градациями уровней (junior → middle+) и понятными пояснениями: что, зачем и как применять.

Что внутри:
Старт с основ: выбираешь язык (Python, Java, JS) и учишься писать код под бэк.
Дальше — Linux, сети, БД, REST, Docker, DevOps и архитектура.
На каждом шаге: теория, ссылки, курсы, примеры и даже пояснения, зачем это знать на практике.
Пункты размечены по уровням: junior, middle, high middle
А ещё есть метки GURU — для тех, кто хочет копнуть глубже.

Всё чётко, по-человечески, бесплатно и доступно — от "я только слышал про сервер" до "могу проектировать архитектуру API".

📂 Сохраняй и проходи. Это не просто список — это план, как стать backend-разработчиком.

#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🎓 Лучшие библиотеки Python для Data Science — от данных до предсказаний

Ты когда-нибудь задумывался, на чём держится вся магия Data Science?
На библиотеках Python. Мощные, гибкие и почти безграничные — они превращают код в инсайты, а данные в решения.

📦 Вот что стоит изучить, если хочешь прокачаться в аналитике и ML:

🖍 Reinforcement Learning
Позволь алгоритмам учиться на действиях и ошибках.
🧠 OpenAI Gym — отличная точка входа в мир умных агентов и ИИ.

🧮 Feature Engineering
Сырые данные — это только начало.
🔧 Featuretools помогает автоматически преобразовывать их в ценные признаки для моделей.

👨‍💻 Machine Learning & AI
Прогнозы, классификация, кластеризация — всё это проще с
⚙️ Scikit-Learn, TensorFlow, XGBoost.

📈 Анализ и подготовка данных
➡️ Pandas и NumPy — мастхэв для каждого дата-сайентиста.
С ними хаос превращается в порядок.

📊 Визуализация данных
Когда числа — это не всё.
✍️ Matplotlib, Seaborn, Plotly оживляют отчёты, графики и дашборды.

🗣 Обработка текста (NLP)
Работа с естественным языком?
📚 NLTK, SpaCy и Transformers помогут машине "понять" человеческую речь.

⚙️ Data Engineering & ETL
Управляй потоками данных, как профи.
⛓️ Airflow, Luigi и DVC — чтобы не утонуть в пайплайнах.

📆 Time Series & Forecasting
Прогнозы на основе истории.
📊 Statsmodels, Prophet, tsfresh — для анализа временных рядов.

💥 Big Data & Распределённые вычисления
Когда данные уже не помещаются в оперативку:
🔥 PySpark, Dask и Modin — мощь распределённого анализа.

🔐 Безопасность данных
🛡 Обеспечь приватность и соответствие требованиям
— от Diffprivlib до инструментов для очистки и защиты.

📉 Anomaly Detection
Найди выбросы до того, как они станут проблемой.
🚨 PyOD и другие библиотеки выявят аномалии в потоке данных.

🚀 Data Science — это не про магию, а про инструменты.
И Python — твой главный союзник.

📂 Сохраняй, чтобы не потерять!

#cheatsheet #python #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
🎮 Следишь за своей видеокартой? Теперь ты можешь это делать прямо из Python.

Скрипт, который:
📊 Показывает загрузку GPU
📊 Отображает объём свободной/занятой памяти
🌡 Показывает температуру
🖥 И всё это — в красивой ASCII-таблице

💻 Код:

# pip install GPUtil tabulate

import GPUtil
from tabulate import tabulate
from typing import List, Tuple

def gpu_info() -> str:
"""
Получает информацию о доступных GPU: загрузка, температура, объём памяти.
Возвращает отформатированную таблицу.
"""
gpus = GPUtil.getGPUs()
gpus_list: List[Tuple] = []

for gpu in gpus:
gpus_list.append((
gpu.id,
gpu.name,
f"{gpu.load * 100:.1f}%",
f"{gpu.memoryFree}MB",
f"{gpu.memoryUsed}MB",
f"{gpu.memoryTotal}MB",
f"{gpu.temperature}°C"
))

return tabulate(
gpus_list,
headers=["id", "name", "load", "free memory", "used memory", "total memory", "temperature"],
tablefmt="pretty"
)

if __name__ == "__main__":
print(gpu_info())


🔥 Поддерживается работа с несколькими GPU.
Проверь, как там твоя RTX под стрессом.

#python #soft #code #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Шпаргалка по шаблонам проектирования на русском

Паттерны (шаблоны) проектирования — это способы построения программ, которые считаются хорошим тоном для разработчиков.

📂 Сохрани

#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
patterns_rus.pdf
317.7 KB
👨‍💻 Шпаргалка по шаблонам проектирования на русском

PDF в хорошем качестве
👍

#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
matplotlib_cheatsheets.pdf
2.8 MB
🚀 Настоящий клад для визуализации в Python!

Шпаргалка по Matplotlib — одна из самых мощных библиотек для графиков, диаграмм и визуального кайфа в Python. Подходит как новичкам, так и тем, кто хочет в пару строк выдать инфографику уровня Forbes.

📊 Matplotlib — если хочешь рисовать графики как бог!

Сохраняй, пригодится! 👍

#cheatsheet #doc #python
Please open Telegram to view this post
VIEW IN TELEGRAM