PythonTalk
4.83K subscribers
1.52K photos
49 videos
6 files
1.34K links
Привет, меня зовут Олег Булыгин 👋

🐍 Здесь я делюсь полезной информацией для тех, кто пишет код на Python: от разработки до Data Science.

По вопросам: @obulygin91
Download Telegram
🍭Синтаксический сахар: добро или зло?

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

Многие считают, что такие конструкции только усложняют код и делают его непонятным. Другие уверены, что писать сегодня длинные циклы там, где достаточно однострочного list comprehension — дурной тон.

На чьей стороне вы? Сахар делает код чище и понятнее или, наоборот, запутывает команду?

#анатомия_питона
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥442🙏21🗿1
Когда спрашивают, какие книги по Python стоит читать начинающим, то я последнее время в основном рекомендую "Think Python" Аллена Дауни.

В чём она хороша?

👉🏻 Никаких мучений с установкой

Вся книга — это набор Jupyter-ноутбуков. Вы просто открываете главу по ссылке в браузере (через Google Colab) и сразу начинаете работать: читаете теорию, тут же запускаете код, экспериментируете, решаете задачи. Не нужно возиться с установкой Python, настройкой окружения и редакторами. Это убирает много головной боли на старте.

👉🏻 Практика работы с AI-помощниками
Вот это прямо ход конем. В конце каждой главы автор объясняет, как использовать ChatGPT и аналоги для изучения темы. По сути это обучение мета-навыку — как правильно задавать вопросы AI, чтобы он помогал учиться, а не делал работу за вас.

👉🏻 Академическая структура
Дауни — профессор. Материал подается фундаментально, от простого к сложному, без каши в голове. Каждый термин определяется, прежде чем использоваться. Сложные темы вроде рекурсии разжевываются на несколько глав.

‼️ Важный нюанс: книга на английском.

Кому зайдет?
▫️Абсолютным новичкам: Это идеальная первая книга.
▫️Тем, кто пробовал и бросил: Структура и интерактивность помогут преодолеть барьер.

Кому будет скучно?
▫️Тем, кто уже программирует на другом языке: первые главы покажутся слишком медленными.
▫️Тем, кто ищет справочник: это учебник для последовательного прохождения.

Книга лежит здесь, бесплатно (открытая лицензия)
https://allendowney.github.io/ThinkPython/ 🎓
8👍621
OpenAI выкатили большое обновление Codex на базе GPT-5 🤖

Если коротко, что завезли:

🧠 Новая модель: По сути, это GPT-5, но на стероидах и специально заточенный под реальные инженерные задачи: рефакторинг, отладка, написание тестов и даже ревью кода. На простых задачах он работает быстрее, а над сложными может "думать" и итерироваться часами, прямо как джун на испытательном.

🧐 Киллер-фича — ревью кода: Codex теперь можно натравить на репозиторий в GitHub, и он будет автоматически ревьюить PR-ы. Он не просто смотрит на дифф, а анализирует зависимости, запускает тесты и пытается понять намерение автора. OpenAI утверждает, что у себя они так отлавливают сотни багов ежедневно, ещё до ревью человеком.

🔌 Глубокая интеграция: Обновили CLI, выкатили расширение для VS Code/Cursor. Идея в том, что вы больше не переключаете контекст. AI работает прямо там, где вы пишете код — в терминале, IDE, вебе. Можно даже скормить ему скриншот или диаграмму.

💸 Доступность: Всё это уже включено в подписки ChatGPT (Plus, Pro, Business и т.д.). Никаких отдельных прайсингов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61🔥1🙏11
В Python для структур данных есть два стула: встроенные dataclasses и вездесущий Pydantic.

Один простой, как табуретка, и верит всему, что в него пихают. Второй — кресло с фейс-контролем.

Собрал всю суть разницы в карточках ⬆️⬆️

#два_стула
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117🔥53
Вы думали, что один из главных юзкейсов ChatGPT — программирование? 💻

Тут вышло свежее исследование от NBER (Национальное бюро экономических исследований США), где проанализировали, как люди на самом деле используют ChatGPT.

Итак, главные поинты:

🟢 Программирование — это всего 4.2% всех запросов. Четыре. И две десятых. Процента.

🟢 Что тогда в топе? Почти 80% всех разговоров — это три вещи:
1. Практические руководства (от «как составить план тренировок» до «помоги с идеями для свидания»).
2. Поиск информации (замена гуглу).
3. Написание текстов (письма, посты, эссе).

🟢 Доля НЕрабочих запросов выросла до 70% и продолжает расти быстрее рабочих. ChatGPT стал инструментом для масс.

А ниша задач программирования почти полностью ушла в специализированные инструменты. А ChatGPT же теперь — это универсальный помощник для обычных людей», решающий бытовые и рутинные задачи. Ему проще объяснить, как замариновать курицу, чем отлаживать легаси-код на Django.

И ещё один сочный факт: люди всё чаще используют нейронку для «Спросить» (помочь принять решение), а не «Сделать» (сгенерировать готовый результат). И что характерно, качеством ответов на «Спросить» пользователи довольны значительно больше.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4💯2
Время размять мозги!

📝 Условие:
Дана матрица символов (board) и слово (word). Нужно вернуть True, если слово можно составить из букв в матрице.

Правила простые:
▫️Слово собирается из букв, расположенных в соседних ячейках (по горизонтали или вертикали, диагонали не считаются).
▫️Одну и ту же ячейку нельзя использовать дважды для составления одного слова.

👇 Примеры:

board = [
["A","B","C","D"],
["S","A","A","T"],
["A","C","A","E"]
]
word = "CAT"

# Результат: True


board = [
["A","B","C","D"],
["S","A","A","T"],
["A","C","A","E"]
]
word = "BAT"

# Результат: False (буквы B нет рядом с A)


board = [
["C", "A", "B"],
["A", "D", "C"],
["B", "C", "D"]
]
word = "ABCA"

# Результат: False
# Хотя путь A -> B -> C есть, вернуться обратно на "A" уже нельзя.


Поехали! 👇

#алгособес
🔥422👍1
Продолжаем смотреть, как программисты используют ИИ 💻

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

С одной стороны, «Известия» пишут, что лишь треть российских айтишников использует нейросети, в то время как в мире — аж 85%. Причины? Наш особый путь: мол, спецы хотят «глубже погрузиться в продукт», сомневаются в качестве ИИ-кода и вообще, у нас не стартапы, где главное — скорость.

А потом открываешь свежее исследование Яндекса на Хабре, и реальность оказывается совсем другой.

📊 Что происходит, по данным опроса 600+ спецов:

🔵 75% IT-специалистов в РФ уже используют кодовых ИИ-ассистентов. Не треть, а три четверти. Инструменты стали частью ежедневной рутины.
🔵 У студентов цифра ещё выше — 79%. Новое поколение сразу учится писать код с помощью ИИ. Это уже не опция, а стандарт.
🔵 Главные риски, которые видят разрабы — конфиденциальность данных и качество генерируемого кода. То есть скепсис не в том, чтобы «не использовать», а в том, чтобы использовать с умом и контролем.

👨‍💻 Как ИИ меняет рынок труда и требования:

Большинство (61%) не верит в полную замену человека, но ждёт частичной автоматизации рутины. Самый очевидный кандидат на автоматизацию — тестирование (так считают 62%).

И самое интересное — меняется сама модель работы. Как пишет один из респондентов: «Один джун с ИИ сможет работать, как три джуна без ИИ».

Вывод? Порог входа в IT уже не такой низкий. Требования к джунам подтягиваются к мидлам, потому что рутинные задачи, на которых раньше учились новички, теперь всё чаще закрывает ИИ.

🧠 А что реально влияет на продуктивность?

Топ-3 фактора продуктивности — это не новые модные инструменты, а вечные ценности:
1. Эффективная коммуникация.
2. Обратная связь.
3. Грамотное руководство.

ИИ — это усилитель, но он не заменит человеческое взаимодействие и толковый менеджмент.

Интересно, остался ещё кто-то, кто не признаёт нейросетки? Ещё год назад таких было много 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
👍821🤔1🙏1
🐍 Разбор задачки: поиск слова в матрице

Всё решается через рекурсию, поиск в глубину (DFS) и техники backtracking (поиск с возвратом).

Основная идея — представить матрицу как граф. Наша задача — найти в этом графе путь, который в точности повторяет заданное слово, не посещая одну и ту же вершину (ячейку) дважды.

def exist(board, word):
if not board:
return False

rows, cols = len(board), len(board[0])

def dfs(r, c, index):
if index == len(word):
return True

if r < 0 or c < 0 or r >= rows or c >= cols or board[r][c] != word[index]:
return False

temp = board[r][c]
board[r][c] = '#'

found = (dfs(r + 1, c, index + 1) or
dfs(r - 1, c, index + 1) or
dfs(r, c + 1, index + 1) or
dfs(r, c - 1, index + 1))

board[r][c] = temp
return found

for i in range(rows):
for j in range(cols):
if board[i][j] == word[0] and dfs(i, j, 0):
return True

return False


Как это работает? 🤔

1️⃣ Основной цикл: Сначала мы просто ищем стартовую точку. Пробегаемся по всей матрице (i, j) и, как только находим ячейку, совпадающую с первой буквой слова (word[0]), запускаем оттуда рекурсивный поиск dfs.

2️⃣ Функция dfs(r, c, index):
- проверяет, не дошли ли мы до конца слова (index == len(word)). Если да — путь найден, возвращаем True.
- Затем идёт проверка на выход за границы поля или несоответствие буквы. Если условие выполняется, эта ветка поиска — тупиковая, возвращаем False.

3️⃣Backtracking:
- Чтобы не использовать одну и ту же ячейку дважды, мы временно "портим" её значение, заменяя на #. Это способ пометить ячейку как "посещённую" в рамках текущего пути.
- После этого рекурсивно запускаем dfs для всех четырёх соседей.
- И самое главное: после завершения рекурсивных вызовов мы восстанавливаем исходное значение ячейки (board[r][c] = temp). Этот шаг и есть backtracking. Он позволяет другим путям использовать эту ячейку в будущем.

⚙️ Анализ сложности
- Время: O(M * N * 4^L), где M и N — размеры матрицы, а L — длина слова. В худшем случае мы можем начать поиск из каждой из M * N ячеек, и для каждой буквы слова проверять до 4-х направлений.
- Память: O(L). Мы не используем дополнительную память (вроде множества visited), а глубина стека рекурсии в худшем случае равна длине слова.

#алгособес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2🙏1
⚰️ ИИ вынес людей на главном турнире по программированию.

На прошедшем финале ICPC World Finals 2025 — это главная и самая престижная олимпиада по программированию для студентов — произошла тихая революция.

Пока все следили за командами, OpenAI и DeepMind в отдельном онлайн-треке тестировали свои последние модели на тех же задачах. Результаты такие:

🥇 OpenAI (GPT-5 + experimental model): решила все 12 из 12 задач. Безупречный результат, который принёс бы им чистое первое место.
🥈 Google DeepMind (Gemini 2.5 Deep Think): решила 10 из 12 задач. Это уровень золотой медали и второе место в общем зачёте.

А кто же тогда официальные чемпионы? Золото и первое место среди людей взяла команда СПбГУ, решив 11 из 12 задач. Наши парни оказались круче всех кожаных мешков на планете, но до идеального счёта OpenAI чуть-чуть не дотянули.

Важный нюанс: ИИ-системы соревновались в отдельном онлайн-треке. То есть, они не отбирали медали у студентов, а просто решали те же задачи в тех же условиях параллельно. Пока что.


Пару месяцев назад эти же нейронки брали золото на Международной математической олимпиаде.

🤖
Please open Telegram to view this post
VIEW IN TELEGRAM
😢9❤‍🔥3🔥32👍211
💥 Alibaba показала, как надо делать AI-агентов. И выложила всё в опенсорс.

Подразделение Alibaba Tongyi Lab выкатило опенсорс не просто модель-агента, а целый завод по их производствуTongyi DeepResearch.

Кроме того, что по метрикам их решение не уступает закрытым аналогам, они ещё показали новую парадигму работы агента, которая решает фундаментальную проблему всех существующих систем.

Большинство агентов сегодня работают по принципу ReAct (Мысль → Действие → Наблюдение). Весь контекст — удачные и неудачные шаги, найденная инфа, мусор — сваливается в одну кучу.
Рано или поздно модель тонет в своём контексте. Разработчики это назвали "когнитивным удушьем" и "шумовым загрязнением".

🧠 Что сделали в Alibaba? Придумали свой подход — IterResearch.
Вместо одного бесконечного потока мыслей агент работает короткими "исследовательскими раундами". В конце каждого раунда он "убирает со стола" 🧹 всё лишнее, оставляя только краткую сводку и план на следующий шаг. Это позволяет ему сохранять ясность мысли на протяжении решения очень длинных и запутанных задач.

Главный тезис команды: "Данные — это основной драйвер улучшения возможностей модели; их важность даже превосходит важность алгоритма". Для этого они построили целую машину по генерации синтетических данных нужной сложности.

В итоге у сообщества теперь есть не просто SOTA-модель, а полный чертеж "завода" для производства собственных агентов под любые задачи.

Разобрал их архитектуру и подход подробнее в статье, читайте:
https://olegtalks.ru/tpost/rv7dibj091-tongyi-deepresearch-ai-agenta-ot-alibaba ◀️◀️

#годный_опенсорс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍221🆒1