Python Academy
前往频道在 Telegram
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
显示更多📈 Telegram 频道 Python Academy 的分析概览
频道 Python Academy (@python_academy) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 43 962 名订阅者,在 技术与应用 类别中位列第 3 047,并在 俄罗斯 地区排名第 14 325 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 43 962 名订阅者。
根据 26 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -301,过去 24 小时变化为 -5,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 4.86%。内容发布后 24 小时内通常能获得 2.22% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 135 次浏览,首日通常累积 977 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 5。
- 主题关注点: 内容集中在 строка, модуль, документация, taskiq, yaml 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
凭借高频更新(最新数据采集于 27 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
43 962
订阅者
-524 小时
-697 天
-30130 天
帖子存档
43 951
PyOxidizer
PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.
#python
43 951
TurboGears
TurboGears — это фреймворк для создания веб-приложений на Python. Он состоит из набора взаимозаменяемых компонентов, упрощающих и ускоряющих разработку.
Вот некоторые ключевые особенности TurboGears:
— TurboGears использует архитектурный шаблон Model-View-Controller (MVC), разделяя ваше приложение на логические блоки: модель, представление и контроллер. Это способствует более организованной и поддерживаемой разработке.
— TurboGears позволяет вам выбирать нужные библиотеки и инструменты. По умолчанию он использует Pylons, SQLAlchemy, Genshi и Repoze, но вы можете заменить их на другие.
#python
43 951
Получаем текст с картинки
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов.
И в качестве обертки над их системой, был создан пакет
pytesseract, который максимально удобно и легко использовать.
Для того, чтобы получить текст с картинки, нужно вызвать метод image_to_string. Если вас интересует текст на русском, то следует указать аургмент lang как 'rus'.
Еще важно, что для открытия картинок рекомендуется использовать pillow, хоть и имеется возможность просто указать путь к файлу в виде строки.
#pytesseract43 951
Прогресс выполнения программы
Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль
tqdm является простым и лаконичным вариантом.
Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности, достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.
Кстати, интересный факт – название tqdm произошло от арабского слова "taqaddum" (تقدّم), которое означает "прогресс," а также это ещё и сокращение от "я тебя сильно люблю" на испанском (te quiero demasiado).
#модули #tqdm43 951
Упрощенная работа с JSON
Казалось бы, куда еще проще, но есть один интересный пакет
JMESpath, который позволяет декларативно указать, как извлекать элементы из документа JSON.
Основные примеры использования показаны на картинке, там нет ничего сложного. Метод search принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON).
Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath43 951
Управление версионностью Python с помощью pyenv
Инструмент pyenv предоставляет простой способ для переключения между различными версиями Python, придерживаясь принципов UNIX, согласно которым каждый инструмент должен эффективно выполнять свою задачу.
Возможности
pyenv включают:
- Изменение глобальной версии Python для пользователя;
- Управление версиями Python для индивидуальных проектов;
- Переопределение версии Python через переменную среды;
- Поиск и выполнение команд сразу из нескольких версий Python.
#pyenv43 951
Вычисляем размер объектов в памяти
Чтобы вычислить размер какого-либо объекта, можно воспользоваться функцией
sys.getsizeof(object[, default]). Поскольку Python написан в полном соответствии с парадигмой ООП, таким объектом может быть все что угодно.
Однако, следует помнить, что хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .
Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора, если конечно объект управляется сборщиком мусора.
#sys #sizeof #oop43 951
Аннотации типов
Всем известно, что Python – язык с динамической типизацией. Аннотации типов нужны для того, чтобы повысить информативность исходного кода, но они никак не влияют на поведение программы.
Типы данных указывается через двоеточие после имени переменной после её создания. Для примера создадим словарь с числами и список, состоящий из значений этого словаря, а также функцию для сложения двух чисел.
Однако помните, что аннотации типов не влияют на ход исполнения программы, поэтому в ранее написаную функцию мы с таким же успехом можем передать и строки, хотя указывали целочисленный тип данных.
#типы_данных #аннотации
43 951
Память — одна из самых важных частей ИИ-агентов
Пока все обсуждают модели и промпты, многие агенты до сих пор не умеют нормально запоминать пользователя между сессиями. А когда начинаешь добавлять память и поиск по смыслу, появляется ещё один сервис, инфраструктура и лишние расходы.
Поэтому сейчас всё чаще используют подход, где память агента, semantic search и RAG работают прямо внутри базы данных. Без отдельного векторного хранилища и лишней синхронизации.
23 июня Yandex Cloud проведёт вебинар как раз про такой сценарий. Покажут, как собрать агента с постоянной памятью на YDB Serverless и подключить MCP. С живыми примерами и разбором архитектуры.
Регистрация тут.
43 951
Скачиваем видео с YouTube
Пакет
pytube предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем.
Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует ютьюб. Решение данной проблемы покажем в следующем посте.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию download(), в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла.
#youtube43 951
Одноразовый метод в классе
В случае, если вдруг понадобится в классе функция, которая будет использоваться всего один раз, после чего будет использоваться другая функция, можно воспользоваться приемом на картинке.
Последней строчкой метода
call является переопределение самого этого метода на другой, а именно normal_call. Таким образом, изначальный код call будет исполнен только один раз.
Подобный прием будет полезен в тех случаях, когда при самом первом вызове метода в классе требуются выполнить одноразовые действия, которые в дальнейшем не нужны.
#классы #функции43 951
Выделение базовой части слов
При обработки естественного языка в машинном обучении мы сталкиваемся с множеством форм слова, например, демократия и демократизация. Для машин очень важно понимать, что эти разные слова имеют одинаковую базовую форму.
Таким образом, было бы полезно при анализе текста извлекать базовые формы слов. Можно сказать, что для процесса выделения базовой части слова необходимо обрезать концы слов.
В модуле Python NLTK (Natural Language Toolkit Package) есть различные пакет, связанные с данным процессом выделения базовой части и использующие разные алгоритмы.
Один за пакетов,
snowball, использует алгоритм соответственно Snowball, разработанный Мартином Портером. Алгоритм поддерживает большинство популярных языков. Подробнее об алгоритме можно почитать тут.
#snowball43 951
Сортировка списков по ключу
У списков есть метод
sort(), который сортирует элементы. Также есть аргумент reverse, с помощью которого можно отсортировать в обратном порядке при значении True.
Но еще есть аргумент key, отвечающий за критерий сортировки. Он принимает функцию, которая применяется к каждому элементу. Возвращаемый результат и есть критерий, по которому произойдет сортировка.
В коде на картинке у нас есть список из словарей, которые содержать описания машин. И в качестве мы отсортировали список по годам их выпуска, то есть по ключу 'year'.
Также вместо написания обычных функций были применены анонимные, чтобы закрепить недавнюю тему о них.
#списки43 951
Считаем ссылки на объект
В
Python практически никогда не нужно волноваться об управлении памятью, потому что все это делается автоматически.
Счетчик ссылок — это то, что помогает при проверке того, следует ли выполнять сборку мусора или нет. Сборщик мусора удаляет объект из памяти в случае, если на него ничего не ссылается.
Если на объект ссылается другой объект, то он имеет ненулевое значение ссылок и не может быть собран как мусор (если, конечно, вы не удалите вручную).
В примере выше продемонстрирован простой способ, как можно посмотреть количество ссылок у объекта.
#python #ctypes43 951
Обрабатываем номера телефонов
Пакет
phonenumbers основан на библиотеке libphonenumber от Google, которая позволяет форматировать, парсить и проверять номера телефонов.
Основным классом, который представляет номер, является PhoneNumber. Объект можно создать, вызвав метод parse() и передав в аргументы номер телефона в виде строки. Вторым аргументом также можно указать страну.
В целом, пакет использовать достаточно просто, базовые примеры есть на картинке. Также можете посмотреть документацию для более продвинутого использования.
#python #phonenumbers43 951
Метод isspace()
Метод
isspace() — это строковый метод, который используется для проверки, состоит ли строка только из пробельных символов (пробелов, символов табуляции, символов новой строки и других символов, которые считаются «пробельными» в контексте языка Python).
Примечание: isspace() не изменяет исходную строку, а просто возвращает булево значение в зависимости от условия.
#python43 951
Слайсы
Слайс (или срез, англ. slice) — это способ выбрать часть последовательности (например, строки, списка, кортежа) путем указания начального и конечного индексов, а также шага. Слайсы используются для извлечения подстрок, подсписков или подкортежей из исходной последовательности.
Слайсы полезны для работы с большими последовательностями данных и предоставляют удобный способ извлечения нужных элементов из них.
#python #slice
43 951
Трюк с f-строками
Думаю, про f-строки как метод форматирования все уже знают. Напоминаю, что появились они еще в Python 3.6.
Но им добавили еще одну классную фичу в обновлении 3.8 — можно выводить имя переменной и сразу ее значение, добавив знак равно как показано на картинке.
#строки
43 951
Тестирование на pytest
pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.
Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.
Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.
#python #pytest #assert43 951
Скачиваем вебсайты целиком
Максимально простой, но при этом мощный пакет
pywebcopy поможет вам клонировать отдельные веб-страницы или даже целые сайты.
Функция save_webpage скачивает страницу по указанной ссылке, в аргументы также можно передать путь, куда сохранить результат.
А вот save_website дает возможность скачать целый вебсайт рекурсивно. Например, если сайт представляет из себя блог, то скрипт скачет все статьи, которые есть на сайте.
Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц.
#pywebcopy