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 508 subscribers, ranking 3 046 in the Technologies & Applications category and 14 346 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 44 508 subscribers.
According to the latest data from 10 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -106 over the last 30 days and by -4 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 5.59%. Within the first 24 hours after publication, content typically collects 2.66% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 487 views. Within the first day, a publication typically gains 1 184 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 5.
- 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 11 June, 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.
argparse.
Для начала нам нужно создать объект парсера ArgumentParser, в который мы уже сможем добавить аргументы с нужными параметрами с помощью метода add_argument.
Первым параметром add_argument принимает либо имя обязательного позиционного аргумента, либо список опционального аргумента (опциональный аргумент идентифицируется через -). Также у add_argument есть множество необязательных опциональных параметров для работы с передаваемым значением аргумента, о них можете почитать в данной статье.
После добавления всех аргументов, нам нужно их спарсить с помощью метода parse_args, на выходе мы получим объект со всеми содержащимися аргументами.
#argparsedifflib, в котором есть интересный метод get_close_matches. Он позволяет найти в списке строки, похожие на некую исходную.
Этот метод ищет "наилучшие" возможные совпадения. Первый аргумент задаёт искомую строку, второй аргумент — список, в котором выполняется поиск.
Также в метод можно передать необязательный аргумент n, который задаёт максимальное число возвращаемых совпадений.
#difflibsubprocess, который позволяет вызывать любую программу, как если бы это была обычная функция.
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция which, которая находит полный путь до программы либо возвращает None, если программа не найдена.
#shpartial из стандартной библиотеки functools.
Предоставление функции меньшего количества аргументов, чем она ожидает, называется частичным применением функций.
Другими словами, это такая функция, которая принимает другую функцию с несколькими параметрами и возвращает функцию, но уже с меньшим количеством параметров.
#functoolsdatetime, time, calendar, dateutil, pytz и другие;
— В них слишком много типов: date, time, datetime, tzinfo, timedelta, relativedelta и т. д.
И вот на днях я наткнулся на пакет arrow, который их решает. Во-первых, там есть все необходимое. Во-вторых, все объекты имеют один и тот же тип Arrow.
Большой плюс в том, что пакет совместим с основными встроенными типами. Например, выше я преобразовал datetime в Arrow и обратно.
Еще из приятных бонусов: там есть функция humanize, которая конвертирует время в читаемый текст.
#время #arrowdict имеет удобный метод fromkeys, который был создан специально для таких случаев.
#словари #fromkeysnonlocal позволяет обращаться к переменным из нелокальной области видимости.
Поведение nonlocal заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.
Основное различие с global в том, что с помощью nonlocal нельзя получить переменные из глобальной области видимости.
#переменные #nonlocalglobal.
Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область и приводить к нежелательным ошибкам
#переменные #global_ имеет общепринятый смысл.
Первое, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны — например, в циклах for.
Второе, интерактивный режим использует _ для хранения результата последнего выполненного выражения.
Третье, документация модуля gettext рекомендует псевдоним _() для функции gettext(), чтобы минимизировать загромождение вашего кода.
#тонкостиhashlib, реализующий общий интерфейс для ряда популярных хэш функций и также может использовать функции доступные в системе, предоставляемые с установленным OpenSSL.
Использование очень простое, в модуле существует ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша. Объект хэша мы можем обновить методом update, сконкатенировав тем самым строки, а также можем можем вывести полученное значение с помощью методов digest и hexdigest. Первый возвращает байт-строку, второй - в шестнадцатеричном формате.
#hash #hashlibyield. При таком написании создаётся не генератор, а корутина, что позволяет не просто генерировать значения, но и принимать их.
Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран.
#генераторы #корутиныreturn содержат выражения с ключевым словом yield для последовательного генерирования значений.
Вызов подобной функции вернёт не значение, а объект генератора. Далее из этого объекта можно получать значения, например, с помощью функции next или циклом for.
Если генератору больше нечего возвращать, то будет вызвано исключение StopIteration. В целом, генератор — это особый, более изящный случай итератора.
#генераторы
Available now! Telegram Research 2025 — the year's key insights 
