Python Academy
前往频道在 Telegram
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
显示更多📈 Telegram 频道 Python Academy 的分析概览
频道 Python Academy (@python_academy) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 44 431 名订阅者,在 技术与应用 类别中位列第 3 019,并在 俄罗斯 地区排名第 14 238 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 44 431 名订阅者。
根据 13 七月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -70,过去 24 小时变化为 8,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 9.88%。内容发布后 24 小时内通常能获得 3.49% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 4 387 次浏览,首日通常累积 1 550 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 4。
- 主题关注点: 内容集中在 строка, модуль, документация, taskiq, yaml 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
凭借高频更新(最新数据采集于 14 七月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
44 431
订阅者
+824 小时
+117 天
-7030 天
数据加载中...
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
七月 '26
七月 '26
+124
在0个频道中
六月 '26
+302
在0个频道中
Get PRO
五月 '26
+220
在2个频道中
Get PRO
四月 '26
+156
在0个频道中
Get PRO
三月 '26
+87
在1个频道中
Get PRO
二月 '26
+121
在2个频道中
Get PRO
一月 '26
+153
在1个频道中
Get PRO
十二月 '25
+103
在0个频道中
Get PRO
十一月 '25
+104
在0个频道中
Get PRO
十月 '25
+131
在1个频道中
Get PRO
九月 '25
+98
在0个频道中
Get PRO
八月 '25
+98
在0个频道中
Get PRO
七月 '25
+66
在0个频道中
Get PRO
六月 '25
+76
在0个频道中
Get PRO
五月 '25
+58
在1个频道中
Get PRO
四月 '25
+75
在0个频道中
Get PRO
三月 '25
+126
在1个频道中
Get PRO
二月 '25
+85
在0个频道中
Get PRO
一月 '25
+97
在0个频道中
Get PRO
十二月 '24
+91
在1个频道中
Get PRO
十一月 '24
+32
在0个频道中
Get PRO
十月 '24
+42
在1个频道中
Get PRO
九月 '24
+105
在1个频道中
Get PRO
八月 '24
+43
在1个频道中
Get PRO
七月 '24
+43
在0个频道中
Get PRO
六月 '24
+69
在0个频道中
Get PRO
五月 '24
+105
在1个频道中
Get PRO
四月 '24
+159
在0个频道中
Get PRO
三月 '24
+131
在1个频道中
Get PRO
二月 '24
+122
在2个频道中
Get PRO
一月 '24
+425
在1个频道中
Get PRO
十二月 '23
+168
在3个频道中
Get PRO
十一月 '23
+133
在1个频道中
Get PRO
十月 '23
+150
在2个频道中
Get PRO
九月 '23
+157
在0个频道中
Get PRO
八月 '23
+230
在0个频道中
Get PRO
七月 '23
+165
在0个频道中
Get PRO
六月 '23
+80
在0个频道中
Get PRO
五月 '23
+77
在0个频道中
Get PRO
四月 '23
+108
在0个频道中
Get PRO
三月 '23
+131
在0个频道中
Get PRO
二月 '23
+1 205
在0个频道中
Get PRO
一月 '23
+665
在0个频道中
Get PRO
十二月 '22
+1 555
在0个频道中
Get PRO
十一月 '22
+168
在0个频道中
Get PRO
十月 '22
+337
在0个频道中
Get PRO
九月 '22
+164
在0个频道中
Get PRO
八月 '22
+233
在0个频道中
Get PRO
七月 '22
+1 714
在0个频道中
Get PRO
六月 '22
+214
在0个频道中
Get PRO
五月 '22
+288
在0个频道中
Get PRO
四月 '22
+1 101
在0个频道中
Get PRO
三月 '22
+507
在0个频道中
Get PRO
二月 '22
+715
在0个频道中
Get PRO
一月 '22
+398
在0个频道中
Get PRO
十二月 '21
+207
在0个频道中
Get PRO
十一月 '21
+654
在0个频道中
Get PRO
十月 '21
+402
在0个频道中
Get PRO
九月 '21
+8 965
在0个频道中
Get PRO
八月 '21
+1 423
在0个频道中
Get PRO
七月 '21
+527
在0个频道中
Get PRO
六月 '21
+13 742
在0个频道中
Get PRO
五月 '21
+1 999
在0个频道中
Get PRO
四月 '21
+971
在0个频道中
Get PRO
三月 '21
+18 505
在0个频道中
Get PRO
二月 '21
+10 333
在0个频道中
Get PRO
一月 '21
+22 875
在0个频道中
Get PRO
十二月 '20
+11 962
在0个频道中
| 日期 | 订阅者增长 | 提及 | 频道 | |
| 14 七月 | +16 | |||
| 13 七月 | +14 | |||
| 12 七月 | +24 | |||
| 11 七月 | +1 | |||
| 10 七月 | +36 | |||
| 09 七月 | +2 | |||
| 08 七月 | +5 | |||
| 07 七月 | +1 | |||
| 06 七月 | +1 | |||
| 05 七月 | +7 | |||
| 04 七月 | +9 | |||
| 03 七月 | +5 | |||
| 02 七月 | +2 | |||
| 01 七月 | +1 |
频道帖子
Превращаем PDF в текст
Думаю, все периодические работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу.
Модуль
pdftotext создан именно для работы с документами в PDF формате. Устанавливается он через пакетный менеджер pip, а использовать его проще простого. Все основные операции представлены на картинке выше.
Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями.
#pdftotext| 2 | Сравнение двух аудиосообщений с использованием библиотеки Librosa
Librosa — библиотека, которая обеспечивает анализ и обработку звука. Сравнение производится путем вычисления характеристик MFCC (Mel Frequency Cepstral Coefficients), описывающих звуковую сигнатуру каждого аудио.
Важные замечания:
— Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.).
— Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости.
#python #librosa | 1 407 |
| 3 | Загрузка файлов асинхронно
Если у нас есть список URL картинок для загрузки, использование простого цикла for позволит нам загрузить их последовательно, по одной за раз.
Однако, для задач, включающих загрузку большого количества маленьких файлов, параллелизация может заметно ускорить процесс.
Для параллелизации мы можем использовать ThreadPoolExecutor из модуля concurrent.futures. Этот инструмент позволяет выполнить функцию загрузки в нескольких параллельных потоках, где в конструкторе необходимо указать максимальное количество потоков для одновременного выполнения.
С помощью метода .map(download, urls) можно развернуть функцию загрузки на каждый URL из списка, обеспечивая их параллельную обработку.
Важно понимать, что так как загрузка файлов является IO-операцией, данный метод не ускоряет выполнение кода в прямом смысле, а скорее позволяет начать загрузку следующего файла, не ожидая завершения предыдущего.
#python #threading | 1 503 |
| 4 | Делаем планировщик задач
К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени.
Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще schedule не требует внешних зависимостей и сам в целом легковесный.
Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах.
#schedule | 1 568 |
| 5 | Создаем бесконечный итератор
Функция cycle() из itertools принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта.
Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элемента.
Но если вы проходитесь циклом по такому итератору, то важно предусмотреть выход из цикла, иначе он станет бесконечным (как у нас в первом случае на картинке).
Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта.
#itertools | 1 668 |
| 6 | Разбираешься в радиочипах, оптике и связи? Забери до 1 000 000 рублей за свои инженерные навыки на турнире «Дронкон»
«Сталинские Соколы» открывают регистрацию на 4-й Всероссийский турнир «Дронкон», который пройдет с 22 по 26 августа.
Турнир пройдет по направлению:
• Инженерное дело: навыки программирования, сборка электронного оборудования, беспроводная связь, оптические системы + стратегия «Битва Дронов»;
Призовой фонд для победителей:
1 место – 1 000 000 рублей
2 место – 700 000 рублей
3 место – 500 000 рублей
Награда за 4-8 места - 100 000 рублей
Пройди заочный онлайн-этап и получи путевку на очный этап турнира в Республику Татарстан!
Перелет, питание, проживание - за счет организаторов.
Подать заявку и узнать подробности. | 1 492 |
| 7 | Разница между генераторными выражениями и генераторами коллекций
Записи в первой и второй строчке в коде выше очень похожи, но различаются видами скобок. В генераторе списка они квадратные, а в генераторном выражении – круглые.
Распечатав переменные, можно заметить, что значением переменной a является список, а переменная x хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.
Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
#python | 1 600 |
| 8 | Используйте dict.get() вместо dict[]
Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят.
Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение.
Поэтому мы считаем, что лучше использовать метод get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию.
Таким образом, если значение по ключу не найдено, то вернется дефолтное значение.
В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет.
#словари | 1 785 |
| 9 | Редирект вывода программы
В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенаправить стандартный вывод программы.
Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке.
Таким образом, данные из print() в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout.
Убедится в этом можем, открыв файл заново и прочитав оттуда данные.
#contextlib | 1 877 |
| 10 | Слоты в классах
По умолчанию в Python в классах используется словарь __dict__ для хранения атрибутов, который создается по умолчанию при создании экземпляра класса. Данная особенность позволяет динамически в рантайме добавлять атрибуты, но от сюда появляются соответствующие проблемы с производительностью.
В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом __slots__, который позволяет задать ограниченный список аргументов для класса. В этом случае словарь __dict__ не будет создаваться, что позволит сэкономить память и поднять производительность.
#class #slots | 2 047 |
| 11 | dict.get()
dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.
Синтаксис метода get() выглядит так:
value = dict.get(key, default)
key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.
#python | 9 846 |
| 12 | Генераторы коллекций
В Python генераторы коллекций (или генераторы) представляют собой удобный способ создания итерируемых последовательностей данных без необходимости сохранять все элементы в памяти. Они могут использоваться для генерации значений на лету, что делает их полезными для работы с большими или бесконечными последовательностями данных.
Генераторы коллекций можно создать с использованием специального синтаксиса, который похож на генераторы списков, но вместо создания списка они создают генераторный объект. В примере на картинке мы создали генератор выражений. Генераторы выражений особенно полезны, когда вы работаете с большими объемами данных, так как они не сохраняют все элементы в памяти, а генерируют их по мере необходимости.
#python | 6 001 |
| 13 | Создание скриншотов с использованием модуля pyscreenshot
Модуль pyscreenshot, обеспечивая кросс-платформенную функциональность, позволяет легко создавать скриншоты как всего экрана, так и его отдельных частей. Для работы этого модуля необходимо установить библиотеку Pillow.
Для захвата изображения используется метод grab, для его отображения – show, а для сохранения – save. В метод grab можно также передать аргумент bbox, чтобы ограничить захват только определенной областью экрана.
Этот модуль оказывается особенно полезным, например, при логировании скриптов, использующих Selenium.
Selenium может открывать браузер и выполнять различные операции в нем, и использование pyscreenshot позволяет создавать скриншоты для последующего анализа и отладки.
#python #pyscreenshot | 6 014 |
| 14 | Простой, но мощный веб-фреймворк
Самым популярным фреймворком для разработки серверной части на Python является Flask. К слову, он обгоняет даже Django по звездам на GitHub.
Flask предназначен для быстрого и легкого старта работы с возможностью масштабирования до сложных приложений. А коммьюнити предоставляет множество расширений для фреймворка.
Для создания минимального рабочего приложения достаточно кода выше. После запуска такого скрипта можете перейти в браузере по адресу http://localhost:5000/ и посмотреть результат.
#модули | 10 230 |
| 15 | asyncio: Асинхронное программирование на Python
asyncio - это библиотека, разработанная специально для асинхронного программирования и управления параллельными задачами. Она предоставляет инструменты для эффективной работы с асинхронными операциями, позволяя создавать быстрые и отзывчивые приложения.
Для начала работы с asyncio, вам необходимо импортировать библиотеку, и вы сразу получаете доступ к асинхронным функциям и ключевым словам, таким как async и await. Это делает возможным создание асинхронных функций, которые могут выполняться параллельно, без блокировки основного потока выполнения.
Одной из причин использовать asyncio является его способность эффективно обрабатывать большое количество параллельных задач, что делает его идеальным решением для сетевых операций, ввода/вывода и других операций, которые могут вызвать задержку. Вы можете легко создавать и использовать уже готовые асинхронные HTTP-клиенты (например, с использованием aiohttp и httpx), веб-серверы и веб-скраперы, которые будут быстро обрабатывать большие объемы данных.
Дополнительная информация о asyncio, такая как работа с очередями, ивент-лупы, обработка ошибок и другие возможности, доступна в официальной документации Python. | 10 259 |
| 16 | Сохранение документации функции при декорировании
У декораторов существует ряд проблем, одна из которых заключается в том, что, после оборачивания функции в декоратор, на выходе мы не можем получить информацию атрибутов __name__ и __doc__, нужные для документации функции.
Вместо значений данных атрибутов исходной функции мы будем получать значения функции обертки.
Для решения этой проблемы можно воспользоваться декоратором functools.wraps, применяя его к обертке нашего декоратора. В результате имя и сигнатура функции, передаваемой в декоратор, будут копироваться в обертку.
#декораторы #wraps | 9 994 |
| 17 | Рабочее приложение, которое прошло ревью, всё ещё можно взломать через форму логина.
Большинство уязвимостей в вебе — это типовые ошибки, которые находят уже после инцидента. Курс WAPT от Codeby учит находить их раньше — с позиции атакующего.
Этот курс максимально заточен на практику: 65 заданий в лаборатории, где вы отрабатываете каждую технику на реальных сценариях.
Что внутри:
• Эксплуатация актуальных классов уязвимостей, активный и пассивный фаззинг
• SQL Injection, CMD Injection, XSS, PHP Injection, Server-Side Template Injection
• Повышение привилегий и client-side атаки (XSS, CSRF)
Каждую неделю — вебинары с куратором.
Навыки применимы и в рабочих задачах по пентесту, и в Bug Bounty. Курс стартует 16 июля.
Запись на курс
По всем вопросам: @CodebyAcademyBot | 5 604 |
| 18 | Читаем текст с картинки используя Tesseract от Google
Google разработал систему Tesseract для извлечения текста из изображений через оптическое распознавание символов.
Pytesseract - это удобная оболочка для системы Tesseract, облегчающая её использование.
Чтобы извлечь текст из изображения, используйте метод image_to_string. Для работы с русским текстом укажите аргумент lang как 'rus'.
Рекомендуется использовать библиотеку pillow для открытия изображений, хотя можно также просто указать путь к файлу.
Пример кода:
from PIL import Image
import pytesseract
# Открываем изображение с помощью Pillow
image = Image.open('image.jpg')
# Используем pytesseract для извлечения текста
text = pytesseract.image_to_string(image, lang='rus')
print(text)
#python #pytesseract | 5 800 |
| 19 | Сравнение двух аудиосообщений с использованием библиотеки Librosa
Librosa — библиотека, которая обеспечивает анализ и обработку звука. Сравнение производится путем вычисления характеристик MFCC (Mel Frequency Cepstral Coefficients), описывающих звуковую сигнатуру каждого аудио.
Важные замечания:
— Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.).
— Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости.
#python #librosa | 2 259 |
| 20 | Explicit Conversion Flag
Флаг явного преобразования используется для преобразования значения поля format перед его непосредственным форматированием.
Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования:
!r – преобразует значение в строку, используя функцию repr()
!s – преобразует значение в строку, используя функцию str()
В примере, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s – без кавычек (в более удобном для чтения виде).
#repr #str #format | 2 275 |
