Python Academy
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 442 subscribers, ranking 2 939 in the Technologies & Applications category and 14 109 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 44 442 subscribers.
According to the latest data from 05 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 25 over the last 30 days and by -18 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 4.70%. Within the first 24 hours after publication, content typically collects 2.29% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 087 views. Within the first day, a publication typically gains 1 018 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 3.
- 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 06 September, 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.
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 #строки|, с помощью которого можно это делать ещё проще.
#словари