Python Academy
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Показати більше📈 Аналітичний огляд Telegram-каналу Python Academy
Канал Python Academy (@python_academy) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 44 483 підписників, посідаючи 3 047 місце в категорії Технології та додатки та 14 330 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 44 483 підписників.
За останніми даними від 13 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -105, а за останні 24 години на -7, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 5.59%. Протягом перших 24 годин після публікації контент зазвичай збирає 2.74% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 2 485 переглядів. Протягом першої доби публікація в середньому набирає 1 218 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як строка, модуль, документация, taskiq, yaml.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
Завдяки високій частоті оновлень (останні дані отримано 14 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
yield. При таком написании создаётся корутина, а не генератор, что позволяет не просто генерировать значения, но и принимать их.
Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран.
#генераторы #корутиныyield для последовательного генерирования значений. В целом, генератор – это особый, более изящный случай итератора.
Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции next или циклом for.
Если генератору больше нечего возвращать, то будет вызвано исключение StopIteration.
#генераторыdef'ы и названия, но сам код еще не успели, однако программу надо запустить и проверить что-то другое. Вот тут и понадобится pass.
Или в конструкции try-except, чтобы просто проигнорировать и никак не обрабатывать ошибку в программе.
#pass_. Хотя обычно такие имена не достаточно описательны и не должны использоваться, есть по крайней мере три случая, когда _ имеет общепринятый смысл.
Во-первых, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны – например, в циклах for.
Во-вторых, интерактивный режим использует _ для хранения результата последнего выполненного выражения.
В-третьих, руководство модуля gettext рекомендует псевдоним его функции gettext() для _(), чтобы минимизировать загромождение вашего кода.
#тонкостиsubprocess:)
Данный модуль предоставляет унифицированный интерфейс для создания дополнительных процессов с вызовом программ, а также может подключать к стандартным потокам ввода, вывода и вывода об ошибках. Модуль был добавлен в стандартную библиотеку python на замену os.system() и os.popen().
Для создания процессов в subprocess используются функции run(), call(), check_call(), check_output(), а также класс Popen.
Сегодня мы расскажем о функциях call, check_call, check_output и run, а завтра поговорим о Popen. Они используются, когда требуется запустить программу и дождаться ее выполнения.
call - вызывается для создания процесса, ожидает выполнения и возвращает код выполнения (если программа отработала корректно, вернется 0).
check_call - делает тоже самое только еще и проверяет возвращаемое значение, если код выхода указывает, что произошла ошибка, то функция выбросит исключение CalledProcessError.
check_output - использовалась, когда нужно было захватить вывод запущенного процесса. Эта функция была нужна, так как потоки ввода и вывода запущенного процесса через call привязывались именно к вводу и выводу данного процесса, поэтому вывод таким образом захватить не получится.
run - это функция пришла в python версии 3.5 на замену трем предыдущим и умеет все, что и они и немножко больше (данные три функции были оставлены для обратной совместимости). run() возвращает объект CompletedProcess, который привязан к результату.
Для захвата вывода процесса нам нужно передать capture_output=True, после чего в аргументах объекта stdout и stderr будут записаны соответствующие выводы, запущенной программы. Но по умолчанию вывод будет вывод будет в байтах, чтобы получить читабельный текст мы также передаем флаг text=True.
Иногда программа ожидает от нас ввода из стандартного потока stdin, в этом случае мы можем передать ввод через аргумент input.
Для того, чтобы породить исключение в случае получения кода возврата об ошибке мы можем передать флаг check=True.
И как бонус у этой функции есть аргумент timeout позволяющий передать время, через которое процесс должен быть принудительно завершен. В случае принудительного завершения будет выброшено исключение TimeoutExpired.
#процессы #subprocessitertools для создания собственных итераторов. Функции данного модуля довольно эффективны в работе, поэтому их часто используют в реальных проектах.
Сегодня мы бы хотели показать вам функцию cycle() из itertools. Данная функция принимает на вход итерируемый объект и создает бесконечный итератор, циклически возвращающий элементы данного объекта. Фишка заключается в том, что когда элементы последовательности заканчиваются, итерация начинается вновь с первого элементы.
К примеру, функция cycle() из последовательности ['red', 'white', 'blue'] генерирует повторяющуюся бесконечную. Но важно при проходе при итерации по такому итератору предусмотреть выход из цикла (а не как у нас в первом случае с colors:). Так как это итератор, то мы можем использовать его для получения значений через функцию next(colors).
Мы также можем воспользоваться islice(), который вернет итератор по подмножеству переданного объекта.
#генераторы #itertoolsdifflib, в котором есть интересный метод get_close_matches. Он позволяет найти в списке строки, похожие на некую исходную.
Данный метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент – список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент n, который задаёт максимальное число возвращаемых совпадений.
#difflib #строки|, с помощью которого можно это делать ещё проще.
#словари
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
