Python Academy
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
Показати більше📈 Аналітичний огляд Telegram-каналу Python Academy
Канал Python Academy (@python_academy) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 44 528 підписників, посідаючи 3 050 місце в категорії Технології та додатки та 14 333 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 44 528 підписників.
За останніми даними від 07 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -23, а за останні 24 години на -3, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 5.55%. Протягом перших 24 годин після публікації контент зазвичай збирає 2.63% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 2 472 переглядів. Протягом першої доби публікація в середньому набирає 1 171 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 4.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як строка, модуль, документация, taskiq, yaml.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
Завдяки високій частоті оновлень (останні дані отримано 08 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
calendar есть функция month(), которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar() выдаст целый год.
Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML.
Кстати, модуль является встроенным, отдельно его устанавливать не нужно.
#calendartqdm является простым и лаконичным вариантом.
Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности, достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.
Кстати, интересный факт – название tqdm произошло от арабского слова "taqaddum" (تقدّم), которое означает "прогресс," а также это ещё и сокращение от "я тебя сильно люблю" на испанском (te quiero demasiado).
#модули #tqdm__enter__ и __exit__. Но такой подход может показаться слегка сложным.
Так вот, помимо написания своего класса, есть еще один способ создать контекстный менеджер — использовать декоратор @contextmanager из встроенного пакета contextlib.
Первая часть функции tag, которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть, которая идет после yield.
#contextlib__mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в C и в самом конце в object.
Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.
#классы10000000 и 100000000. Использовать запятые, как в английском языке, не получится.
Но Python позволяет использовать нижнее подчеркивание как разделитель для улучшения читабельности.
Например, 1_000_000 будет интерпретироваться как целое число 1000000.
#числаpathlib, позволяющий осуществлять различную работу с файловыми путями.
Для представления пути к файлу есть класс Path, с объектами которого уже можно производить операции. Например, методы exists() и is_dir() проверяют, существует ли файл и является ли он директорией.
Но самой классной фичей является замена os.path.join() на более удобный и элегантный вариант с использованием слэшей, как показано на картинке.
Таким образом, пакет pathlib может стать частичной заменой os в некоторых случаях при работе с файловыми путями.
#pathlibspellchecker позволяет находить опечатки в тексте и даже дает возможные варианты исправлений.
Под капотом модуль использует алгоритм расстояния Левенштейна. А сам код основан на статье, написанной в блоге Питера Норвига. Короче, реализация интересная, советую поизучать.
Но даже если не вникать в подробности, то пакет использовать крайне легко. Примеры использования класса SpellChecker и его методов correction и candidates показаны на картинке.
Пакет поддерживает 6 языков, включая русский. Но за подробностями отправляю вас читать документацию.
#spellcheckerstring из стандартной библиотеки содержит интересный класс Template, который позволяет вполне удобно создавать шаблоны строк для дальнейшего форматирования.
Такой способ появился ещё в Python 2.4, как замена %-форматированию (PEP 292), но популярным так и не стал. Поддерживает передачу значений по имени и использует $-синтаксис как в PHP.
В новых проектах, конечно, используются чаще всего f-строки и иногда метод format, но всё же о Template стоит хотя бы знать на случай, если придется работать с легаси кодом.
#строкиpip.
Для создания таблиц и работы с ними используется класс PrettyTable из этого модуля. Задать название для столбцов можно с помощью атрибута fields_name. Строки в таблицу добавляются путем вызова метода add_row.
Более того, модуль prettytable позволяет регулировать различные параметры, сортировать данные, работать с html, а также взаимодействовать с csv и sql таблицами. Так что возможностей у этого модуля предостаточно.
#таблицы #prettytablepytest — ближе по духу к Python нежели unittest, который накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.
При разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.
Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.RecursionError во время создания рекурсивных алгоритмов.
Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти.
И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете.
#рекурсия #лимитыzip файлами можно использовать встроенный модуль zipfile. Если кто не помнит, то zip файл — это архив, содержащий сжатые файлы.
Просмотреть содержимое архива можно с помощью функции printdir, а извлечь все файлы можно вызвав extractfile.
Также этот модуль позволяет создавать свои zip архивы, но мы решили не усложнять пример, поэтому просто прикладываем ссылку на документацию.
#zipfilevalidators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.
Помимо этого, validators позволяет также работать с ipv4, ipv6, mac адресами и многим другим. В итоге, имеем лаконичный и простой модуль с хорошим функционалом.
#validatorasProcess из встроенного модуля multiprocessing позволяет создавать процессы без прямого вызова функции fork, про которую писали раньше на канале.
При создании экземпляра Proccess необходимо передать функцию, которую требуется исполнить в отдельном дочернем процессе и аргументы этой функции. Процесс будет создан после вызова метода start. Внутри метода start будет вызван fork и будет исполнена функция в отдельном процессе.
Очень важно ожидать завершения всех созданных дочерних процессов. Для этого можно воспользоваться удобной функцией join.
#процессы #multiprocessingshorten из модуля textwrap.
Первым аргументом передается строка, вторым указываем количество символов, которое должен содержать результат. Также третьим аргументом можно передать заготовку, которая будет вставляться в конце обрезанной строки.
#строки #textwrapitertools - инструмент в Python для работы с итерируемыми объектами. Он предоставляет различные функции для создания и манипулирования итераторами, что делает его незаменимым инструментом для разработчиков.
Давайте рассмотрим некоторые полезные функции из этого модуля:
1. itertools.count(): Эта функция создает бесконечный итератор, который генерирует последовательность чисел, начиная с заданного значения. Это удобно использовать, например, при создании уникальных идентификаторов.
2. itertools.cycle(): Эта функция создает итератор, который бесконечно повторяет элементы из исходной последовательности. Это может быть полезно, когда вам нужно обрабатывать данные циклически.
3. itertools.islice(): С помощью этой функции можно получить срез элементов из итератора, подобно срезу для списков. Это позволяет работать с большими итерируемыми объектами без необходимости загрузки их в память целиком.
4. itertools.chain(): Эта функция объединяет несколько итерируемых объектов в один, что упрощает итерацию по ним как по одному объекту.
5. itertools.groupby(): Эта функция позволяет группировать элементы итерируемого объекта на основе заданного ключа. Это особенно полезно при анализе и обработке данных.
И это далеко не все функции, доступные в модуле itertools. Он предоставляет множество возможностей для более эффективной итерации и манипуляции данными.argv во встроенном модуле sys.
Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы.
#sys
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
