Python Academy
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Больше📈 Аналитический обзор Telegram-канала Python Academy
Канал Python Academy (@python_academy) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 44 499 подписчиков, занимая 3 048 место в категории Технологии и приложения и 14 340 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 44 499 подписчиков.
Согласно последним данным от 11 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -109, а за последние 24 часа — -5, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 5.58%. В первые 24 часа после публикации контент обычно набирает 2.69% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 2 482 просмотров. В течение первых суток публикация набирает 1 197 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 4.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как строка, модуль, документация, taskiq, yaml.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
Благодаря высокой частоте обновлений (последние данные получены 12 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
from package import * будут подключены либо все модули и объекты модуля __init__.py, либо то, что находится в переменной __all__ в том же модуле __init__.py.
Еще примечателен файл __init__.py, который раньше был обязателен для создания пакетов. Но с версии Python 3.3 его необходимость пропала. Однако его функциональность на этом не заканчиваются.
#модули #пакетыdict имеет удобный метод fromkeys, который был создан специально для таких случаев.
#словари #fromkeysnonlocal позволяет обращаться к переменным из нелокальной области видимости.
Поведение nonlocal заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.
Основное различие с global в том, что с помощью nonlocal нельзя получить переменные из глобальной области видимости.
#переменные #nonlocalglobal.
Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область и приводить к нежелательным ошибкам
#переменные #global_ имеет общепринятый смысл.
Первое, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны — например, в циклах for.
Второе, интерактивный режим использует _ для хранения результата последнего выполненного выражения.
Третье, документация модуля gettext рекомендует псевдоним _() для функции gettext(), чтобы минимизировать загромождение вашего кода.
#тонкостиhashlib, реализующий общий интерфейс для ряда популярных хэш функций и также может использовать функции доступные в системе, предоставляемые с установленным OpenSSL.
Использование очень простое, в модуле существует ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша. Объект хэша мы можем обновить методом update, сконкатенировав тем самым строки, а также можем можем вывести полученное значение с помощью методов digest и hexdigest. Первый возвращает байт-строку, второй - в шестнадцатеричном формате.
#hash #hashlibyield. При таком написании создаётся не генератор, а корутина, что позволяет не просто генерировать значения, но и принимать их.
Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран.
#генераторы #корутиныreturn содержат выражения с ключевым словом yield для последовательного генерирования значений.
Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции next или циклом for.
Если генератору больше нечего возвращать, то будет вызвано исключение StopIteration. В целом, генератор — это особый, более изящный случай итератора.
#генераторыliteral_eval() из модуля ast.
Данная функция поможет безопасно определить литеральный тип, а в случае если был передан не литерал, то выбросит исключение. Это можно использовать для оценки выражений из внешних источников при парсинге файлов, либо пользовательского ввода.
#ast #literal_evalcombinations: она позволяет составлять комбинации элементов из итерируемых объектов без повторений. Первый аргумент это сам объект, а второй — длина комбинации.
Для того, чтобы составить комбинацию с повторениями, используют функцию combinations_with_replacement. Делает она абсолютно все то же самое что и предыдущая, с одним исключением – теперь в комбинации могут быть повторы.
Ну и в заключение, рассмотрим функцию compress, применяющую "маску" из второго аргумента функции к первому. То есть, если в маске на этом месте стоит единица, то в исходном массиве элемент остается нетронутым, и наоборот.
#itertools__name__ и __doc__, нужные для документации функции.
Вместо значений данных атрибутов исходной функции мы будем получать значения функции обертки.
Для решения этой проблемы можно воспользоваться декоратором functools.wraps, применяя его к обертке нашего декоратора. В результате имя и сигнатура функции, передаваемой в декоратор, будут копироваться в обертку.
#декораторы #wraps
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
