Telegram Web
👌 Что умеют множества (set) в Python

1️⃣ Множество ≠ список

fruits = {"apples", "strawberries", "pears", "apples"}
print(fruits) # {'apples', 'pears', 'strawberries'}


🔢 Нет дубликатов.
🔢 Порядок не гарантирован.
🔢 Быстро добавлять / удалять / проверять наличие элемента.

2️⃣ «Словарь без значений»

Вместо словаря вида
colors = {"red": None, "green": None, "blue": None}


используйте множество:
colors = {"red", "green", "blue"}


Дубликаты исчезнут, а кода станет меньше.

3️⃣ Молниеносная проверка «есть ли элемент»

numbers = [int(n) for n in open("numbers.txt")]
numbers_set = set(numbers) # создание множества

no_neighbors = [
n for n in numbers
if n-1 not in numbers_set and n+1 not in numbers_set
]


Преобразование списка в set резко ускорит поиск (O(1) вместо O(n)).

4️⃣ Сет‑арифметика одним символом

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}

a | b # объединение → {1, 2, 3, 4, 5, 6}
a & b # пересечение → {3, 4}
a - b # только в a → {1, 2}
a ^ b # в одном, но не в двух → {1, 2, 5, 6}


Когда нужно узнать общие или уникальные элементы двух коллекций — множества решают задачу одной строкой.

5️⃣ Конвертируем «на ходу»

Нужно сохранить порядок, но иногда делать быстрые проверки?
words = open("words.txt").read().split()
word_set = set(words)

anadromes = [w for w in words if w[::-1] in word_set]


Создаём set ради быстрых проверок, но сами данные храним в списке.

6️⃣ Мгновенная проверка дубликатов

nums = [1, 2, 3, 2]
has_dupes = len(nums) != len(set(nums)) # True


Одна строка — и вы знаете, есть ли повторения.

Когда выбирать set
:
1. Убрать дубликаты, если порядок не важен.
2. Быстро проверить «есть ли элемент».
3. Сравнить коллекции с помощью | & - ^.
4. Проверить уникальность элементов списка.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 «Поиграйся с LLM, почитай про агентов — и сам поймёшь, как это работает»

Это один из самых бесполезных советов, который мы слышали в адрес тех, кто хочет разобраться в AI-агентах.

Поиграйся — это как?
Потыкать пару промптов в ChatGPT и решить, что теперь ты можешь строить мультиагентные системы? 🤡 Ну-ну.

AI-агенты — это не «очередная обёртка над GPT». Это архитектура. Состояния, инструменты, цепочки вызовов, память, оценка качества и адекватность поведения.

➡️ Чтобы разобраться, нужно:
— понимать, как устроен LLM под капотом
— уметь подключать внешние данные (RAG, retrievers, rerankers)
— уметь масштабировать и дебажить поведение агентов
— разбираться в фреймворках вроде AutoGen, CrewAI, LangChain
— знать, как всё это тащится в прод

Если вы реально хотите не «поиграться», а научиться собирать рабочие агентные системы — у нас стартует курс по разработке ИИ-агентов 5го июля

P.S: не упусти свой шанс, промокод: LASTCALL на 10.000₽
🎥 Что посмотреть: DjangoCon Europe 2025

Работаете с Django? Тогда это must-watch.

Организаторы уже выложили видео с докладами — и там много интересного:
архитектура, async, PostgreSQL, security, AI-интеграции, DX и многое другое.

🎙 Выступления — от core-разработчиков и крупных команд. Много живых кейсов, best practices и идей для прокачки проектов.

Все видео доступны по ссылке: https://clc.to/xEkXFQ

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
😤 Пока вы думаете — остальные уже учатся строить системы, которые работают за них

24 часа до старта курса по AI-агентам. Самое время задуматься о прокачке скиллов, потому что места ограничены!

Если вы до сих пор думаете, что LLM — это просто «вызов через API», то вы рискуете очень скоро оказаться за бортом индустрии.

Модели больше не в центре. Решают те, кто умеет собирать интеллектуальные системы, а не просто «дообучать модельку».

➡️ Что вы потеряете, если не впишетесь:
— навык, который уже востребован на рынке
— понимание, как из GPT сделать полноценного помощника, агента или продукт
— шанс догнать тех, кто уже перешёл на следующий уровень

📌 Курс стартует уже завтра
— 5 вебинаров, живая практика, код, разборы, продовые кейсы
— без «посмотрите статью», только то, что реально нужно

Спикеры: Никита Зелинский (МТС), Диана Павликова, Макс Пташник, Дима Фомин — те, кто реально собирает агентные системы, а не просто про них пишет.

Старт уже завтра — забронируйте место на курсе сейчас
🧠 Почему алгоритмы — это не только теория, а ключ к быстрым приложениям

Многие думают, что спортивное программирование — это абстрактные задачки, далекие от реальности. Но на практике именно это мышление помогает находить решения, которые ускоряют приложения в десятки и сотни раз.

🔍 В статье:
— Как смена одного алгоритма может устранить «тормоза»
— Почему привычка оценивать сложность сразу окупается
— Что такое Trie, префиксные суммы, LRU — и как они спасают прод
— Почему «измеряй, а не гадай» — главный принцип для продакшена

👇 Если вы хотите писать быстрый код, не только рабочий — читайте:
https://proglib.io/sh/BZ6EzqDbaW

Библиотека питониста #буст
else if...

Библиотека питониста #развлекалово
🔥 Сегодня стартует курс по AI-агентам!

Онбординг уже сегодня, но ещё можно вписаться — ПОСЛЕДНИЙ ШАНС это сделать.

Мы больше года собирали мультиагентные системы: экспериментировали, переделывали и в итоге — оформили всё в 5 плотных вебинаров.

😤 «А можно ли вообще научиться чему-то за 5 вебинаров?!»

Если вы хотите просто послушать — нет
Если хотите разбираться и делать — да

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

И главное — вы получаете системное понимание, а не набор хаотичных туториалов.

️Если вы думаете, что успеете потом — не успеете.
Старт сегодня:
— а те, кто вписался сейчас, будут вас опережатьв проектах, на грейде и в зарплате

Знакомьтесь, эксперт нашего курса:
Никита Зелинский — Chief Data Scientist МТС, Head of ML Platforms, руководитель центра компетенций по Data Science.

Стартуем сегодня — забронируй свое место
🐒 Monkey patching в Python: спасение или анти-паттерн

Monkey patching — это когда вы внедряетесь в чужой код прямо во время выполнения программы.

Например:
— переопределяете метод библиотеки без форка,
— меняете поведение фреймворка на лету,
— или «чините» баг, не дожидаясь pull request'а.

Когда это бывает полезно:
Патчишь баг в библиотеке, который авторы будут чинить 3 месяца
Легаси-проект: трогать архитектуру нельзя, а фичу сдать надо
Хочешь изменить поведение без вмешательства в исходники

А в чём подвох:
Читаемость кода: новый разработчик ничего не поймёт
Ломает совместимость при апдейтах
Трудно отлаживать и тестировать
Можно выстрелить себе в ногу (и команде тоже)

🔥 Вот теперь холиварный момент

Monkey patching — это:
🔥 Инструмент сильных, просто надо уметь
❤️ Костыль, который нельзя нормализовать
😃 Иногда — единственный способ сделать хорошо
👍 Признак плохой архитектуры, точка

А вы использовали monkey patching в проде?
👇 Расскажите в комментах — чем закончилось и стоило ли оно того?


Библиотека питониста #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Свежие релизы Python‑пакетов за последние 7 дней

Вот что появилось или обновилось за последние 7 дней в экосистеме Python:

📍 Релизы
Django Bugfix Release 5.2.4 — исправлены баги


📦 Data, ML, AI, Agents
sentence-transformers 5.0.0 — эмбеддинги, поиск и переранжирование
PEFT 0.16.0 — эффективный файнтюнинг больших моделей
wandb 0.21.0 — мониторинг экспериментов (Weights & Biases)
CrewAI 0.140.0 — фреймворк для координации AI-агентов
statsig-python-core 0.6.0 — SDK для A/B-тестов и экспериментов
PaddlePaddle 3.1.0 — глубокое обучение с поддержкой распределённого обучения

🧩 Инфраструктура, парсинг, работа с файлами
python-calamine 0.4.0 — Python-обёртка над Rust-библиотекой для чтения Excel/ODF
pylance 0.31.0 — поддержка формата Lance в Python
pillow-heif 1.0.0 — поддержка HEIF/HEIC изображений
PyAV 15.0.0 — Python-интерфейс к библиотекам FFmpeg

🧪 Автоматизация, тестирование, Web, BLE
SeleniumBase 4.40.0 — фреймворк для автотестов с поддержкой всех браузеров
browser-use 0.4 — интерфейс сайтов для AI-агентов
bleak 1.0.0 — BLE-клиент на Python, кроссплатформенный

🛠 Разработка серверов и аналитики
fastmcp 2.10.0 — быстрый Python-способ построить MCP-сервер
PostHog 6.0.0 — аналитика событий прямо из Python-приложений

Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
📎 Топ-вакансий для питонистов за неделю

Python Разработчик — от 250 000 до 280 000₽, удалёнка

SDET Python (KLDFS), удалёнка

Python-разработчик — до 1 800 $, удалёнка

Python разработчик — от 1500 до 3000 $, удалёнка

Senior Python Developer (Analytics) — от 300 000 до 400 000 ₽, удалёнка

➡️ Еще больше топовых вакансий — в нашем канале Python jobs

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
Шпаргалка: типизированные структуры данных в Python

Python поддерживает типизацию с помощью аннотаций, а также предоставляет удобные инструменты для описания структур — TypedDict и dataclasses.

🆖 Typed Dictionaries (Типизированные словари)

TypedDict похож на обычный словарь, но с подсказками типов для ключей и значений. Это помогает задать чёткие ожидания, какие ключи и значения должны быть в словаре.

Пример:
from typing import TypedDict

class Metrics(TypedDict):
accuracy: float
precision: float
recall: float
AUC: float | None # необязательное поле

def evaluate_predictions(y_true: np.ndarray, y_pred: np.ndarray) -> Metrics:
# Возвращаем словарь с метриками
return Metrics(accuracy=0.66, precision=1.0, recall=0.5)

my_metrics = evaluate_predictions(y_true, y_pred)
print(my_metrics) # {'accuracy': 0.66, 'precision': 1.0, 'recall': 0.5}


🆖 Dataclasses (Датаклассы)

Датаклассы упрощают создание классов с данными, автоматически генерируя методы вроде __init__. Можно сделать объекты неизменяемыми с frozen=True.

Пример:
from dataclasses import dataclass

@dataclass(frozen=True)
class ModelConfig:
model_path: str
data_path: str
batch_size: int = 32
learning_rate: float = 1e-3
num_epochs: int = 10
early_stopping: bool = False

config = ModelConfig(model_path="models/v1", data_path="data/train", batch_size=64)
print(config.batch_size) # 64


🆖 Вложенные структуры

Типизированные словари и датаклассы можно вкладывать друг в друга, чтобы описать сложные структуры данных.

Пример:
from datetime import datetime

@dataclass
class ExperimentSummary:
datetime: datetime
model_config: ModelConfig
metrics: Metrics

experiment = ExperimentSummary(datetime=datetime.now(), model_config=config, metrics=my_metrics)
print(experiment.model_config.batch_size) # 64


Важные советы:
🔛 Не увлекайтесь глубокой вложенностью! Слишком сложные структуры затрудняют поддержку и понимание.
🔛 Используйте типы для самодокументирования кода. Они помогают избежать ошибок и ускоряют разработку.
🔛 Выбирайте TypedDict, если хотите словарь с проверкой структуры.
🔛 Используйте dataclasses, когда нужна полноценная структура с методами и возможностью наследования.

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/08 10:26:13
Back to Top
HTML Embed Code: