⚡️ Как узнать количество CPU в Python одной строкой
Для этого не нужны сторонние библиотеки — всё есть в стандартном
Например:
Но есть важный нюанс: функция обычно возвращает количество логических процессоров, доступных системе, а не обязательно число физических ядер.
То же самое можно получить через:
Это особенно полезно, когда нужно автоматически подобрать количество worker-процессов:
Но запускать
Маленькая функция, но часто полезна при настройке
#Python #Programming #Multiprocessing #Backend
Для этого не нужны сторонние библиотеки — всё есть в стандартном
multiprocessing:
import multiprocessing
print(multiprocessing.cpu_count())
Например:
8
Но есть важный нюанс: функция обычно возвращает количество логических процессоров, доступных системе, а не обязательно число физических ядер.
То же самое можно получить через:
import os
print(os.cpu_count())
Это особенно полезно, когда нужно автоматически подобрать количество worker-процессов:
workers = multiprocessing.cpu_count()
Но запускать
N workers только потому, что у CPU есть N потоков, не всегда оптимально. Для CPU-bound задач количество процессов обычно подбирают экспериментально, а для I/O-bound архитектура может быть совсем другой.Маленькая функция, но часто полезна при настройке
multiprocessing, worker pools и параллельных вычислений.#Python #Programming #Multiprocessing #Backend
❤1👍1
Media is too big
VIEW IN TELEGRAM
Главный секрет bool: он на самом деле int
Складываю True и True, получаю 2
Складываешь два True в Python и получаешь 2. Не баг и не магия: bool наследуется от int, поэтому True это единица, а False это ноль. Минута, и ты больше никогда не удивишься sum по списку булевых значений.
#python
Складываю True и True, получаю 2
Складываешь два True в Python и получаешь 2. Не баг и не магия: bool наследуется от int, поэтому True это единица, а False это ноль. Минута, и ты больше никогда не удивишься sum по списку булевых значений.
#python
❤3👍3🔥3
Forwarded from Just Xor
🐍 Генераторные выражения в Python - один из самых простых способов экономить память.
Обычный list comprehension сразу создаёт весь список:
А generator expression вычисляет значения только по мере необходимости:
То есть миллион элементов не хранится в памяти одновременно.
Можно получать значения по одному:
или передать генератор напрямую в:
Главный плюс - lazy evaluation.
Особенно полезно для:
- больших файлов;
- потоков данных;
- длинных последовательностей;
- ETL-пайплайнов;
- обработки данных, которые не нужно хранить целиком.
Но есть нюанс: генератор одноразовый.
После того как значения закончились, пройти по нему повторно уже нельзя.
Маленький синтаксический приём, который может заметно уменьшить потребление памяти.
#Python #Programming #Backend #DataEngineering
Обычный list comprehension сразу создаёт весь список:
squares = [x ** 2 for x in range(1_000_000)]
А generator expression вычисляет значения только по мере необходимости:
squares = (x ** 2 for x in range(1_000_000))
То есть миллион элементов не хранится в памяти одновременно.
Можно получать значения по одному:
next(squares)
или передать генератор напрямую в:
sum(...)
max(...)
any(...)
all(...)
Главный плюс - lazy evaluation.
Особенно полезно для:
- больших файлов;
- потоков данных;
- длинных последовательностей;
- ETL-пайплайнов;
- обработки данных, которые не нужно хранить целиком.
Но есть нюанс: генератор одноразовый.
После того как значения закончились, пройти по нему повторно уже нельзя.
Маленький синтаксический приём, который может заметно уменьшить потребление памяти.
#Python #Programming #Backend #DataEngineering
👍5❤3
🔥 Python + AI без игрушечных демок. Курс для тех, кто хочет собирать рабочие системы.
Stepik: «Python современный AI для разработчика и автоматизации задач»
63 урока, 382 шага, практика с кодом и автопроверкой.
Внутри: RAG, tool calling, агенты, evals, MCP, Ollama, vLLM, pgvector + HNSW, безопасный text-to-SQL, prompt injection, кэш, очереди и sandbox для агентного кода.
Плюс реальные автоматизации: почта, отчёты, боты, вебхуки и браузерные сценарии.
Для тех, кто уже знает Python и хочет перейти к production AI.
⏳ 72 часа скидка 55%
https://stepik.org/a/295921
Stepik: «Python современный AI для разработчика и автоматизации задач»
63 урока, 382 шага, практика с кодом и автопроверкой.
Внутри: RAG, tool calling, агенты, evals, MCP, Ollama, vLLM, pgvector + HNSW, безопасный text-to-SQL, prompt injection, кэш, очереди и sandbox для агентного кода.
Плюс реальные автоматизации: почта, отчёты, боты, вебхуки и браузерные сценарии.
Для тех, кто уже знает Python и хочет перейти к production AI.
⏳ 72 часа скидка 55%
https://stepik.org/a/295921
❤2👍1🔥1
🔥 6 AI API, которые можно попробовать бесплатно - сохрани, пригодится
Если нужен API для pet-project, прототипа, AI-агента или просто тестов, необязательно сразу подключать платный OpenAI API.
Вот что доступно сейчас:
* ⚡ Groq - бесплатный rate-limited tier и очень быстрый inference для Llama, GPT-OSS, Qwen и других моделей.
* 🤖 Google Gemini - Free Tier для Gemini API с бесплатными input/output токенами на поддерживаемых моделях.
* 🌊 Mistral AI - Free mode включён по умолчанию, можно создать API key без банковской карты. Лимиты ниже production-тарифа.
* 🌸 Pollinations AI - единый API для текста, изображений, аудио и видео, плюс OpenAI-compatible endpoints. Учтите: сервис сейчас развивает систему API-ключей и Pollen credits, поэтому условия бесплатного использования лучше проверять перед интеграцией.
* 🐙 GitHub Models - бесплатный rate-limited доступ к каталогу разных AI-моделей через playground и API. Отлично подходит для прототипирования.
* 🤗 Hugging Face Inference Providers - один API для сотен моделей и разных inference-провайдеров. Бесплатный аккаунт получает небольшие ежемесячные credits для экспериментов.
Важно: free tier ≠ unlimited API. Есть RPM/TPM, дневные квоты, ограничения по моделям и иногда совсем небольшие бесплатные credits.
Но для MVP, теста нового агента или weekend-проекта этого часто достаточно, чтобы начать вообще без расходов. 🚀
Если нужен API для pet-project, прототипа, AI-агента или просто тестов, необязательно сразу подключать платный OpenAI API.
Вот что доступно сейчас:
* ⚡ Groq - бесплатный rate-limited tier и очень быстрый inference для Llama, GPT-OSS, Qwen и других моделей.
console.groq.com/keys* 🤖 Google Gemini - Free Tier для Gemini API с бесплатными input/output токенами на поддерживаемых моделях.
aistudio.google.com/apikey* 🌊 Mistral AI - Free mode включён по умолчанию, можно создать API key без банковской карты. Лимиты ниже production-тарифа.
console.mistral.ai* 🌸 Pollinations AI - единый API для текста, изображений, аудио и видео, плюс OpenAI-compatible endpoints. Учтите: сервис сейчас развивает систему API-ключей и Pollen credits, поэтому условия бесплатного использования лучше проверять перед интеграцией.
pollinations.ai* 🐙 GitHub Models - бесплатный rate-limited доступ к каталогу разных AI-моделей через playground и API. Отлично подходит для прототипирования.
github.com/marketplace/models* 🤗 Hugging Face Inference Providers - один API для сотен моделей и разных inference-провайдеров. Бесплатный аккаунт получает небольшие ежемесячные credits для экспериментов.
huggingface.co/settings/tokensВажно: free tier ≠ unlimited API. Есть RPM/TPM, дневные квоты, ограничения по моделям и иногда совсем небольшие бесплатные credits.
Но для MVP, теста нового агента или weekend-проекта этого часто достаточно, чтобы начать вообще без расходов. 🚀
🔥4❤1👍1