Python — не только про скрипты и автоматизацию. Он умеет работать сразу с несколькими задачами параллельно — и делать это красиво. Но тут есть нюансы: GIL, multiprocessing, asyncio... разберём всё!
* Процессы (multiprocessing) — как отдельные контейнеры. Изолированы, не делят память. Каждый процесс может использовать своё ядро процессора. Идеально для вычислений.
* Потоки (threading) — живут в одном процессе и делят между собой память. Отлично справляются с задачами, связанными с вводом/выводом (например, скачивание файлов).
* Асинхронность (asyncio) — не параллельность в классическом смысле. Всё работает в одном потоке, но задачи переключаются между собой, не блокируя выполнение. Лучший выбор для работы с сетью.
GIL — глобальная блокировка интерпретатора в Python. Она позволяет одновременно выполняться только одному потоку Python-кода, даже если у тебя 64 ядра. Почему так? Потому что управление памятью в CPython не потокобезопасно.
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.
Подходит всем, кто готовит себя к интервью, сдаёт экзамены, пишет код на Python, JavaScript, C++ и не только.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
#doc #python #cheatsheet #russian
Please open Telegram to view this post
VIEW IN TELEGRAM
Мини-шпаргалка, которая поможет писать код быстрее, чище и без гугления каждой мелочи:
.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 самых популярных способа + картинка, как вы любите
Короткий и понятный разбор:
Самый привычный способ:
*Классика, но уязвима при слабых паролях и без MFA.
*Надёжно, особенно для защищённых соединений (HTTPS).
*Маст-хэв для работы с внешними API, OAuth 2.0 рулит.
*Безопасно, удобно и идеально для DevOps.
#doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Большой мастер-гайд по SQL с подробными примерами, собранный в одном PDF.
Внутри:
Даже затронуты темы типа разбиения адресов на части, кастомной сортировки и использования ISNULL — всё, что нужно для практики и реальных задач.
Подойдёт для:
#sql #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
PDF версия
#python #doc #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь уверенно шарить в базах данных?
Вот с чего стоит начать:
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
Внутри:
#doc #python #cheatsheet
Please open Telegram to view this post
VIEW IN TELEGRAM
Неважно, делаешь ли ты чат-бота, визуализируешь данные, парсишь сайты или автоматизируешь кофеварку на ESP32 — вот топовые библиотеки с разбивкой по категориям:
#python #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработал скрипт, выгрузил данные, открыл таблицу…
А дальше? Чем анализировать? Чем группировать? Где фильтровать?
Вот краткая шпаргалка, как одни и те же действия делаются в Excel, SQL и Python (pandas):
– 📊 Визуализация и экспорт
🐼 Python (pandas) — идеален для автоматизации, логики, гибкости;
🧱 SQL — база, если работаешь напрямую с таблицами БД.
#python #sql #cheatsheet #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Это PDF — must-have для всех, кто устал от медленных скриптов и хочет видеть результат до того, как остынет кофе.
Внутри:
#doc #python #cheatsheet #article
Please open Telegram to view this post
VIEW IN TELEGRAM
В репозитории — сотни реальных тестовых заданий от российских и зарубежных IT-компаний. Примеры на Python, фронт, DevOps, дизайн, аналитику и даже геймдев.
Идеально, чтобы:
#cheatsheet #doc #github
Please open Telegram to view this post
VIEW IN TELEGRAM
#python #doc #cheatsheet #russian
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь войти в бэкенд — но не знаешь с чего начать?
Вот именно та карта, которую ты искал.
Один из самых подробных и человечных роадмапов по backend-разработке с полного нуля.
Не просто список тем — это пошаговый путь, разбитый на этапы, с приоритетами, градациями уровней (junior → middle+) и понятными пояснениями: что, зачем и как применять.
Что внутри:
Всё чётко, по-человечески, бесплатно и доступно — от "я только слышал про сервер" до "могу проектировать архитектуру API".
#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
Ты когда-нибудь задумывался, на чём держится вся магия Data Science?
На библиотеках Python. Мощные, гибкие и почти безграничные — они превращают код в инсайты, а данные в решения.
Позволь алгоритмам учиться на действиях и ошибках.
OpenAI Gym
— отличная точка входа в мир умных агентов и ИИ.Сырые данные — это только начало.
Featuretools
помогает автоматически преобразовывать их в ценные признаки для моделей.Прогнозы, классификация, кластеризация — всё это проще с
Scikit-Learn
, TensorFlow
, XGBoost
.Pandas
и NumPy
— мастхэв для каждого дата-сайентиста.С ними хаос превращается в порядок.
Когда числа — это не всё.
Matplotlib
, Seaborn
, Plotly
оживляют отчёты, графики и дашборды.Работа с естественным языком?
NLTK
, SpaCy
и Transformers
помогут машине "понять" человеческую речь.Управляй потоками данных, как профи.
Airflow
, Luigi
и DVC
— чтобы не утонуть в пайплайнах.📆 Time Series & Forecasting
Прогнозы на основе истории.
Statsmodels
, Prophet
, tsfresh
— для анализа временных рядов.Когда данные уже не помещаются в оперативку:
PySpark
, Dask
и Modin
— мощь распределённого анализа.— от
Diffprivlib
до инструментов для очистки и защиты.Найди выбросы до того, как они станут проблемой.
PyOD
и другие библиотеки выявят аномалии в потоке данных.И Python — твой главный союзник.
#cheatsheet #python #doc
Please open Telegram to view this post
VIEW IN TELEGRAM
Скрипт, который:
🌡 Показывает температуру
# 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())
Проверь, как там твоя 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
Please open Telegram to view this post
VIEW IN TELEGRAM
matplotlib_cheatsheets.pdf
2.8 MB
Шпаргалка по Matplotlib — одна из самых мощных библиотек для графиков, диаграмм и визуального кайфа в Python. Подходит как новичкам, так и тем, кто хочет в пару строк выдать инфографику уровня Forbes.
Сохраняй, пригодится!
#cheatsheet #doc #python
Please open Telegram to view this post
VIEW IN TELEGRAM