en
Feedback
Python Academy

Python Academy

Open in Telegram

Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu

Show more

📈 Analytical overview of Telegram channel Python Academy

Channel Python Academy (@python_academy) in the Russian language segment is an active participant. Currently, the community unites 44 424 subscribers, ranking 3 019 in the Technologies & Applications category and 14 238 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 44 424 subscribers.

According to the latest data from 13 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -70 over the last 30 days and by 8 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 9.88%. Within the first 24 hours after publication, content typically collects 3.49% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 4 387 views. Within the first day, a publication typically gains 1 550 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 4.
  • Thematic interests: Content is focused on key topics such as строка, модуль, документация, taskiq, yaml.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu

Thanks to the high frequency of updates (latest data received on 14 July, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

44 424
Subscribers
+824 hours
+117 days
-7030 days
Attracting Subscribers
July '26
July '26
+110
in 0 channels
June '26
+302
in 0 channels
Get PRO
May '26
+220
in 2 channels
Get PRO
April '26
+156
in 0 channels
Get PRO
March '26
+87
in 1 channels
Get PRO
February '26
+121
in 2 channels
Get PRO
January '26
+153
in 1 channels
Get PRO
December '25
+103
in 0 channels
Get PRO
November '25
+104
in 0 channels
Get PRO
October '25
+131
in 1 channels
Get PRO
September '25
+98
in 0 channels
Get PRO
August '25
+98
in 0 channels
Get PRO
July '25
+66
in 0 channels
Get PRO
June '25
+76
in 0 channels
Get PRO
May '25
+58
in 1 channels
Get PRO
April '25
+75
in 0 channels
Get PRO
March '25
+126
in 1 channels
Get PRO
February '25
+85
in 0 channels
Get PRO
January '25
+97
in 0 channels
Get PRO
December '24
+91
in 1 channels
Get PRO
November '24
+32
in 0 channels
Get PRO
October '24
+42
in 1 channels
Get PRO
September '24
+105
in 1 channels
Get PRO
August '24
+43
in 1 channels
Get PRO
July '24
+43
in 0 channels
Get PRO
June '24
+69
in 0 channels
Get PRO
May '24
+105
in 1 channels
Get PRO
April '24
+159
in 0 channels
Get PRO
March '24
+131
in 1 channels
Get PRO
February '24
+122
in 2 channels
Get PRO
January '24
+425
in 1 channels
Get PRO
December '23
+168
in 3 channels
Get PRO
November '23
+133
in 1 channels
Get PRO
October '23
+150
in 2 channels
Get PRO
September '23
+157
in 0 channels
Get PRO
August '23
+230
in 0 channels
Get PRO
July '23
+165
in 0 channels
Get PRO
June '23
+80
in 0 channels
Get PRO
May '23
+77
in 0 channels
Get PRO
April '23
+108
in 0 channels
Get PRO
March '23
+131
in 0 channels
Get PRO
February '23
+1 205
in 0 channels
Get PRO
January '23
+665
in 0 channels
Get PRO
December '22
+1 555
in 0 channels
Get PRO
November '22
+168
in 0 channels
Get PRO
October '22
+337
in 0 channels
Get PRO
September '22
+164
in 0 channels
Get PRO
August '22
+233
in 0 channels
Get PRO
July '22
+1 714
in 0 channels
Get PRO
June '22
+214
in 0 channels
Get PRO
May '22
+288
in 0 channels
Get PRO
April '22
+1 101
in 0 channels
Get PRO
March '22
+507
in 0 channels
Get PRO
February '22
+715
in 0 channels
Get PRO
January '22
+398
in 0 channels
Get PRO
December '21
+207
in 0 channels
Get PRO
November '21
+654
in 0 channels
Get PRO
October '21
+402
in 0 channels
Get PRO
September '21
+8 965
in 0 channels
Get PRO
August '21
+1 423
in 0 channels
Get PRO
July '21
+527
in 0 channels
Get PRO
June '21
+13 742
in 0 channels
Get PRO
May '21
+1 999
in 0 channels
Get PRO
April '21
+971
in 0 channels
Get PRO
March '21
+18 505
in 0 channels
Get PRO
February '21
+10 333
in 0 channels
Get PRO
January '21
+22 875
in 0 channels
Get PRO
December '20
+11 962
in 0 channels
Date
Subscriber Growth
Mentions
Channels
14 July+2
13 July+14
12 July+24
11 July+1
10 July+36
09 July+2
08 July+5
07 July+1
06 July+1
05 July+7
04 July+9
03 July+5
02 July+2
01 July+1
Channel Posts
Превращаем PDF в текст Думаю, все периодические работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python
Превращаем PDF в текст Думаю, все периодические работают с PDF-документами. И зачастую это ручная и скучная работа. Но Python может автоматизировать даже такую рутинную задачу. Модуль pdftotext создан именно для работы с документами в PDF формате. Устанавливается он через пакетный менеджер pip, а использовать его проще простого. Все основные операции представлены на картинке выше. Кстати, здесь ещё интересно то, что исходный код модуля написан на C++. Поэтому есть небольшая вероятность, что придётся повоевать с зависимостями. #pdftotext

2
Сравнение двух аудиосообщений с использованием библиотеки Librosa Librosa — библиотека, которая обеспечивает анализ и обработ
Сравнение двух аудиосообщений с использованием библиотеки Librosa Librosa — библиотека, которая обеспечивает анализ и обработку звука. Сравнение производится путем вычисления характеристик MFCC (Mel Frequency Cepstral Coefficients), описывающих звуковую сигнатуру каждого аудио. Важные замечания: — Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.). — Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости. #python #librosa
1 235
3
Загрузка файлов асинхронно Если у нас есть список URL картинок для загрузки, использование простого цикла for позволит нам за
Загрузка файлов асинхронно Если у нас есть список URL картинок для загрузки, использование простого цикла for позволит нам загрузить их последовательно, по одной за раз. Однако, для задач, включающих загрузку большого количества маленьких файлов, параллелизация может заметно ускорить процесс. Для параллелизации мы можем использовать ThreadPoolExecutor из модуля concurrent.futures. Этот инструмент позволяет выполнить функцию загрузки в нескольких параллельных потоках, где в конструкторе необходимо указать максимальное количество потоков для одновременного выполнения. С помощью метода .map(download, urls) можно развернуть функцию загрузки на каждый URL из списка, обеспечивая их параллельную обработку. Важно понимать, что так как загрузка файлов является IO-операцией, данный метод не ускоряет выполнение кода в прямом смысле, а скорее позволяет начать загрузку следующего файла, не ожидая завершения предыдущего. #python #threading
1 440
4
Делаем планировщик задач К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и по
Делаем планировщик задач К моему удивлению, далеко не все знают про пакет schedule, который позволяет планировать задачи и повторять их через промежуток времени. Основной его плюс в том, что он максимально интуитивный и имеет гибкий функционал. А еще schedule не требует внешних зависимостей и сам в целом легковесный. Здесь на самом деле даже объяснять особо нечего, логика методов в этом пакете понятна на примерах. #schedule
1 519
5
Создаем бесконечный итератор Функция cycle() из itertools принимает на вход итерируемый объект и создает бесконечный итератор
Создаем бесконечный итератор Функция cycle() из itertools принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта. Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элемента. Но если вы проходитесь циклом по такому итератору, то важно предусмотреть выход из цикла, иначе он станет бесконечным (как у нас в первом случае на картинке). Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта. #itertools
1 622
6
Разбираешься в радиочипах, оптике и связи? Забери до 1 000 000 рублей за свои инженерные навыки на турнире «Дронкон» «Сталинс
Разбираешься в радиочипах, оптике и связи? Забери до 1 000 000 рублей за свои инженерные навыки на турнире «Дронкон» «Сталинские Соколы» открывают регистрацию на 4-й Всероссийский турнир «Дронкон», который пройдет с 22 по 26 августа. Турнир пройдет по направлению: • Инженерное дело: навыки программирования, сборка электронного оборудования, беспроводная связь, оптические системы + стратегия «Битва Дронов»; Призовой фонд для победителей: 1 место – 1 000 000 рублей 2 место – 700 000 рублей 3 место – 500 000 рублей Награда за 4-8 места - 100 000 рублей Пройди заочный онлайн-этап и получи путевку на очный этап турнира в Республику Татарстан! Перелет, питание, проживание - за счет организаторов. Подать заявку и узнать подробности.
1 453
7
Разница между генераторными выражениями и генераторами коллекций Записи в первой и второй строчке в коде выше очень похожи, н
Разница между генераторными выражениями и генераторами коллекций Записи в первой и второй строчке в коде выше очень похожи, но различаются видами скобок. В генераторе списка они квадратные, а в генераторном выражении – круглые. Распечатав переменные, можно заметить, что значением переменной a является список, а переменная x хранит в себе объект генератора. И здесь возникает вопрос, что же использовать. Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций. А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему. #python
1 568
8
Используйте dict.get() вместо dict[] Есть несколько способов получения значений из словарей, и даже по такой теме разработчик
Используйте dict.get() вместо dict[] Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят. Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение. Поэтому мы считаем, что лучше использовать метод get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию. Таким образом, если значение по ключу не найдено, то вернется дефолтное значение. В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет. #словари
1 729
9
Редирект вывода программы В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенапра
Редирект вывода программы В contextlib есть еще один прикольный контекстный менеджер — redirect_stdout, позволяющий перенаправить стандартный вывод программы. Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке. Таким образом, данные из print() в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент redirect_stdout. Убедится в этом можем, открыв файл заново и прочитав оттуда данные. #contextlib
1 853
10
Слоты в классах По умолчанию в Python в классах используется словарь __dict__ для хранения атрибутов, который создается по ум
Слоты в классах По умолчанию в Python в классах используется словарь __dict__ для хранения атрибутов, который создается по умолчанию при создании экземпляра класса. Данная особенность позволяет динамически в рантайме добавлять атрибуты, но от сюда появляются соответствующие проблемы с производительностью. В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом __slots__, который позволяет задать ограниченный список аргументов для класса. В этом случае словарь __dict__ не будет создаваться, что позволит сэкономить память и поднять производительность. #class #slots
2 047
11
dict.get() dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие
dict.get() dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре. Синтаксис метода get() выглядит так: value = dict.get(key, default) key: Ключ, по которому производится поиск в словаре. default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None. #python
9 846
12
Генераторы коллекций В Python генераторы коллекций (или генераторы) представляют собой удобный способ создания итерируемых по
Генераторы коллекций В Python генераторы коллекций (или генераторы) представляют собой удобный способ создания итерируемых последовательностей данных без необходимости сохранять все элементы в памяти. Они могут использоваться для генерации значений на лету, что делает их полезными для работы с большими или бесконечными последовательностями данных. Генераторы коллекций можно создать с использованием специального синтаксиса, который похож на генераторы списков, но вместо создания списка они создают генераторный объект. В примере на картинке мы создали генератор выражений. Генераторы выражений особенно полезны, когда вы работаете с большими объемами данных, так как они не сохраняют все элементы в памяти, а генерируют их по мере необходимости. #python
6 001
13
Создание скриншотов с использованием модуля pyscreenshot Модуль pyscreenshot, обеспечивая кросс-платформенную функциональност
Создание скриншотов с использованием модуля pyscreenshot Модуль pyscreenshot, обеспечивая кросс-платформенную функциональность, позволяет легко создавать скриншоты как всего экрана, так и его отдельных частей. Для работы этого модуля необходимо установить библиотеку Pillow. Для захвата изображения используется метод grab, для его отображения – show, а для сохранения – save. В метод grab можно также передать аргумент bbox, чтобы ограничить захват только определенной областью экрана. Этот модуль оказывается особенно полезным, например, при логировании скриптов, использующих Selenium. Selenium может открывать браузер и выполнять различные операции в нем, и использование pyscreenshot позволяет создавать скриншоты для последующего анализа и отладки. #python #pyscreenshot
5 813
14
Простой, но мощный веб-фреймворк Самым популярным фреймворком для разработки серверной части на Python является Flask. К слов
Простой, но мощный веб-фреймворк Самым популярным фреймворком для разработки серверной части на Python является Flask. К слову, он обгоняет даже Django по звездам на GitHub. Flask предназначен для быстрого и легкого старта работы с возможностью масштабирования до сложных приложений. А коммьюнити предоставляет множество расширений для фреймворка. Для создания минимального рабочего приложения достаточно кода выше. После запуска такого скрипта можете перейти в браузере по адресу http://localhost:5000/ и посмотреть результат. #модули
10 165
15
asyncio: Асинхронное программирование на Python asyncio - это библиотека, разработанная специально для асинхронного программи
asyncio: Асинхронное программирование на Python asyncio - это библиотека, разработанная специально для асинхронного программирования и управления параллельными задачами. Она предоставляет инструменты для эффективной работы с асинхронными операциями, позволяя создавать быстрые и отзывчивые приложения. Для начала работы с asyncio, вам необходимо импортировать библиотеку, и вы сразу получаете доступ к асинхронным функциям и ключевым словам, таким как async и await. Это делает возможным создание асинхронных функций, которые могут выполняться параллельно, без блокировки основного потока выполнения. Одной из причин использовать asyncio является его способность эффективно обрабатывать большое количество параллельных задач, что делает его идеальным решением для сетевых операций, ввода/вывода и других операций, которые могут вызвать задержку. Вы можете легко создавать и использовать уже готовые асинхронные HTTP-клиенты (например, с использованием aiohttp и httpx), веб-серверы и веб-скраперы, которые будут быстро обрабатывать большие объемы данных. Дополнительная информация о asyncio, такая как работа с очередями, ивент-лупы, обработка ошибок и другие возможности, доступна в официальной документации Python.
10 221
16
Сохранение документации функции при декорировании У декораторов существует ряд проблем, одна из которых заключается в том, чт
Сохранение документации функции при декорировании У декораторов существует ряд проблем, одна из которых заключается в том, что, после оборачивания функции в декоратор, на выходе мы не можем получить информацию атрибутов __name__ и __doc__, нужные для документации функции. Вместо значений данных атрибутов исходной функции мы будем получать значения функции обертки. Для решения этой проблемы можно воспользоваться декоратором functools.wraps, применяя его к обертке нашего декоратора. В результате имя и сигнатура функции, передаваемой в декоратор, будут копироваться в обертку. #декораторы #wraps
9 970
17
Рабочее приложение, которое прошло ревью, всё ещё можно взломать через форму логина. Большинство уязвимостей в вебе — это тип
Рабочее приложение, которое прошло ревью, всё ещё можно взломать через форму логина. Большинство уязвимостей в вебе — это типовые ошибки, которые находят уже после инцидента. Курс WAPT от Codeby учит находить их раньше — с позиции атакующего. Этот курс максимально заточен на практику: 65 заданий в лаборатории, где вы отрабатываете каждую технику на реальных сценариях. Что внутри: • Эксплуатация актуальных классов уязвимостей, активный и пассивный фаззинг • SQL Injection, CMD Injection, XSS, PHP Injection, Server-Side Template Injection • Повышение привилегий и client-side атаки (XSS, CSRF) Каждую неделю — вебинары с куратором. Навыки применимы и в рабочих задачах по пентесту, и в Bug Bounty. Курс стартует 16 июля. Запись на курс По всем вопросам: @CodebyAcademyBot
5 589
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 777
19
Сравнение двух аудиосообщений с использованием библиотеки Librosa Librosa — библиотека, которая обеспечивает анализ и обработ
Сравнение двух аудиосообщений с использованием библиотеки Librosa Librosa — библиотека, которая обеспечивает анализ и обработку звука. Сравнение производится путем вычисления характеристик MFCC (Mel Frequency Cepstral Coefficients), описывающих звуковую сигнатуру каждого аудио. Важные замечания: — Для точного сравнения аудиозаписей они должны иметь одинаковую продолжительность и аналогичные условия записи (громкость, уровень шума и т.д.). — Возможно потребуется дополнительная предварительная обработка, например, нормализация громкости. #python #librosa
2 242
20
Explicit Conversion Flag Флаг явного преобразования используется для преобразования значения поля format перед его непосредст
Explicit Conversion Flag Флаг явного преобразования используется для преобразования значения поля format перед его непосредственным форматированием. Это поле можно использовать для переопределения поведения format для какого либо конкретного типа и форматирования значения. В настоящее время распространены два явных флага преобразования: !r – преобразует значение в строку, используя функцию repr() !s – преобразует значение в строку, используя функцию str() В примере, в случае с флагом !r строка 'Hello' будет напечатана с кавычками в поле шириной не менее 20 символов, а в случае с флагом !s – без кавычек (в более удобном для чтения виде). #repr #str #format
2 262