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
Please open Telegram to view this post
VIEW IN TELEGRAM
Кодим и развиваемся без боли
Залетела мощная нейротулза: берёт любой проект с GitHub и превращает его в интерактивный гайд. Пошагово объясняет, как работает код, причём простыми словами — даже новичок разберётся.
Что умеет:
— Учит новым технологиям прямо на реальных проектах;
— Автоматически превращает код в понятную документацию;
— Разбирает сложные участки и даёт подробные объяснения;
— Отличный способ учиться не по теории, а по боевому коду.
#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
ItsCaptchaBot — умный бот с капчей, который отфильтрует подозрительных новичков ещё до «привет».
— Добавляешь бота в чат;
— Даёшь права на удаление сообщений и ограничение участников;
— Каждый новый юзер должен пройти капчу в течение 10 минут;
— Не прошёл? Автокик. Всё просто.
#python #soft #code
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from GODLIKE
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
This media is not supported in your browser
VIEW IN TELEGRAM
⠀
За монитором с милым голосом тебя может ждать потный, волосатый дядька в трусах
Подстава...
Please open Telegram to view this post
VIEW IN TELEGRAM
#doc #python #cheatsheet #russian
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос_ответ_для_Python_разработчика_на_собеседовании.pdf
851.3 KB
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
⠀
Гуманоидный робот Tesla Optimus уже не просто ходит:
он гладит, моет посуду, готовит и разбирает бардак, пока ты листаешь ленту.
⠀
Серийное производство стартует уже в этом году.
#cyberpunk
Please open Telegram to view this post
VIEW IN TELEGRAM
$1,1 миллиарда
Так родилась легенда самой дорогой пиццы в мире и повод для ежегодного праздника у всех криптанов — Bitcoin Pizza Day (22 мая).
А ещё сегодня биткоин обновил исторический максимум, перешагнув $111 тысяч
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
[PYTHON:TODAY]
Please open Telegram to view this post
VIEW IN TELEGRAM
WeasyPrint — библиотека, которая превращать HTML в красивые PDF-документы.
*
*
* 🎟 Билетов и любых документов прямо из кода
Особенности:
Установка:
pip install weasyprint
Отличный выбор, если вы хотите автоматизировать генерацию PDF в своих проектах — будь то веб-приложение, отчет из бота или документооборот
#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
75-летняя геймерша с ником “OlgaPlay” не просто играет — она выносит соперников пачками.
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Работает на нейросети Gemini: просто пишешь, что хочешь — и получаешь готовый макет сайта или интерфейса
Что умеет:
#soft #nn
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
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
TG_AutoPoster — Готовый бот-парсер для автоматической пересылки записей из групп ВКонтакте в ваш Telegram-канал, чат или личные сообщения.
Основные возможности:
config.yaml
, где вы указываете логин и пароль ВКонтакте или токен, а также данные для Telegram API.1. Установите TG_AutoPoster с помощью pip:
pip3 install -U TG-AutoPoster
2. Создайте файл
config.yaml
на основе config.yaml.example
и заполните необходимые параметры.3. Запустите бота командой:
python3 -m TG_AutoPoster
4. Активируйте бота в чате командой
/start
vk:
login: "your_vk_login"
pass: "your_vk_password"
token: "your_vk_token" # предпочтительно использовать токен
telegram:
api_id: 123456
api_hash: "your_api_hash"
bot_token: "your_bot_token"
proxy:
enabled: false
hostname: ""
port: 0
username: ""
password: ""
#python #soft #github
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM