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 507 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 507 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.
__lt__, __le__, __eq__, __ne__, __gt__, __ge__.
Про то, что делает каждый из них расскажем отдельным постом, но сейчас покажем, как можно сильно упростить реализацию подобного класса. Для этого можно использовать декоратор total_ordering из пакета functools.
В таком случае достаточно реализовать в классе только __lt__ и __eq__. Эти два метода являются минимумом, который нужен декоратору для конструирования остальных методов.
#классыtuple, по своей сути, являются неизменяемыми списками. Структура данных удобная, но мы можем получать данные, используя только числовые индексы.
Нет возможности дать имена отдельным элементам, сохранённым в кортеже. Это может повлиять на читаемость кода. И в таком случае используют именованные кортежи namedtuple из collections.
Каждый объект в именованном кортеже может быть доступен через уникальный, удобный для чтения человеком, идентификатор. При этом вся функциональность от обычных кортежей сохраняется.
#namedtupleABCMeta и декоратор abstractmethod из модуля abc.
Если мы отнаследуем новый класс от абстрактного класса, не переопределив абстрактные методы, в данном случае method, и попробуем создать экземпляр, то получим исключение TypeError.
Для того, чтобы код заработал корректно, нам необходимо переопределить все абстрактные методы. То есть по сути еще раз просто написать метод, но уже в новом классе.
UPD. В коде опечатка, в классе GoodExample метод должен называться method, а не function.
#классы #метаклассы #abcsorted() и метод .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит.
В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
#списки #сортировкаPoint мы определили __str__, который отвечает за то, как выводятся объекты класса на экран.
Для перегрузки оператора "+" нужно определить метод __add__. Он принимает два аргумента, которыми являются, соответственно, операнды в операции сложения.
Таким образом, когда разработчик пишет запись p1 + p2, интерпретатор воспринимает это в виде Point.__add__(p1, p2). Для всех операторов в языке, включая и логические, есть свои магические методы.
#классыa является список, а переменная x хранит в себе объект генератора. И здесь возникает вопрос, что же использовать.
Если вам нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы, то используйте генераторы коллекций.
А если же значения понадобятся еще не скоро или вообще неизвестно, понадобится ли они вообще, то предпочтительнее генераторы, чтобы не занимать лишнюю память и не нагружать систему.
#генераторыglob является удобная и лаконичная работа с поиском файлов по паттернам. Более того, можно даже пройтись по директориям рекурсивно.
В одноименный метод glob передаётся шаблон для поиска файлов, а возвращается список с результатами. Все методы следуют механизму и правилам сопоставления паттернов в стиле Unix.
Вообще модуль является встроенным, но в некоторых ситуациях импорт может выдать исключение. В таком случае надо просто его переустановить через пакетный менеджер pip.
#glob* перед списком именованных аргументов.
Таким образом, если просто передать два аргумента в функцию, то возникнет исключение TypeError. Но если передать их как именованные аргументы, то всё будет работать отлично.
Такой прием может быть полезен для того, чтобы улучшить понятность кода. Здесь, что вполне очевидно, можно использовать и позиционные аргументы – в том случае, если поместить их до *.
#функцииrequests абстрагирует сложности выполнения запросов за красивым, простым API, чтобы вы могли сосредоточиться на взаимодействии с сервисами и работе с данными в ваших приложениях.
Устанавливается requests стандартным путем через пакетный менеджер pip. Запросы GET, POST, PUT и DELETE делаются интуитивно понятно. Атрибуты у объекта Response позволяют получить всю информацию об ответе от сервера.
Модуль идеально подходит как для работы со внешними API веб-сервисов, так и для получения HTML кода веб-страниц.
#requestspyscreenshot позволяет делать скриншоты как всего экрана, так и его части. Для его работы должна быть корректно установлена библиотека pillow.
Для создания скриншота используется метод grab, для его открытия – show, для сохранения – save. Также в grab можно передать аргумент bbox для захвата только определённой части экрана.
Подобный модуль может быть полезен, например, для логирования скриптов, использующих Selenium, который может открывать браузер и производить какие-либо операции в нём.
#модули #pyscreenshottqdm является простым и лаконичным вариантом.
Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности, достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.
Кстати, интересный факт – название tqdm произошло от арабского слова "taqaddum" (تقدّم), которое означает "прогресс," а также это ещё и сокращение от "я тебя сильно люблю" на испанском (te quiero demasiado).
#модули #tqdm
Available now! Telegram Research 2025 — the year's key insights 
