Python Academy
前往频道在 Telegram
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
显示更多📈 Telegram 频道 Python Academy 的分析概览
频道 Python Academy (@python_academy) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 44 546 名订阅者,在 技术与应用 类别中位列第 3 037,并在 俄罗斯 地区排名第 14 315 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 44 546 名订阅者。
根据 05 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -28,过去 24 小时变化为 1,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 5.45%。内容发布后 24 小时内通常能获得 2.59% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 429 次浏览,首日通常累积 1 155 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 4。
- 主题关注点: 内容集中在 строка, модуль, документация, taskiq, yaml 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
凭借高频更新(最新数据采集于 07 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
44 546
订阅者
+124 小时
+587 天
-2830 天
帖子存档
44 544
Нижнее подчеркивание
В Python имя переменной может состоять из одного подчеркивания. Хотя такое имя не достаточно описательно и не должно использоваться, есть по крайней мере три случая, когда
_ имеет общепринятый смысл.
Первое, _ используется, когда вам нужно придумать имена для значений, которые вам не нужны — например, в циклах for.
Второе, интерактивный режим использует _ для хранения результата последнего выполненного выражения.
Третье, документация модуля gettext рекомендует псевдоним _() для функции gettext(), чтобы минимизировать загромождение вашего кода.
#тонкости44 544
Слоты в классах
По умолчанию в Python в классах используется словарь
__dict__ для хранения атрибутов, который создается по умолчанию при создании экземпляра класса. Данная особенность позволяет динамически в рантайме добавлять атрибуты, но от сюда появляются соответствующие проблемы с производительностью.
В случаях, когда мы сразу точно знаем все атрибуты, используемые в классе, мы можем воспользоваться атрибутом __slots__, который позволяет задать ограниченный список аргументов для класса. В этом случае словарь __dict__ не будет создаваться, что позволит сэкономить память и поднять производительность.
#class #slots44 544
Работа с YAML-Файлами в Python с Помощью Библиотеки PyYAML
PyYAML позволяет эффективно работать с файлами в формате YAML (YAML Ain't Markup Language), который широко используется для конфигураций, настроек и обмена данными в структурированной форме.
import yaml
data_to_write = {'name': 'John Doe', 'age': 30, 'city': 'Example City'}
with open('example.yaml', 'w') as file:
yaml.dump(data_to_write, file, default_flow_style=False)
with open('example.yaml', 'r') as file:
loaded_data = yaml.safe_load(file)
print(f"Загруженные данные: {loaded_data}")
Результат (файл example.yaml):
age: 30
city: Example City
name: John Doe
В этом примере мы используем PyYAML для записи словаря data_to_write в файл example.yaml и затем загружаем данные из этого файла обратно в переменную loaded_data.
Библиотека PyYAML предоставляет удобные средства для работы с данными в формате YAML в Python. Будь то сохранение конфигураций, обмен структурированными данными или другие сценарии, где YAML имеет преимущество, PyYAML обеспечивает легкость в использовании и читаемый код🐍
#python #yaml #pyyaml44 544
Работа с PDF файлами используя PyPDF2
В этом посте, вы узнаете, как работать с PDF-файлами в Python.
PyPDF2 предоставляет функциональность для работы с PDF-файлами в Python, позволяя автоматизировать процессы обработки и анализа документов в формате PDF.
Пример кода:
import PyPDF2
with open('example.pdf', 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
num_pages = len(pdf_reader.pages)
print(f"Количество страниц в PDF: {num_pages}")
first_page_text = pdf_reader.pages[0].extract_text()
print("Текст с первой страницы:")
print(first_page_text)
pdf_writer = PyPDF2.PdfWriter()
pdf_writer.add_page(pdf_reader.pages[0])
with open('new_document.pdf', 'wb') as new_file:
pdf_writer.write(new_file)
print("Обработка PDF завершена.")
В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf".
PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате.
#python #pypdf244 544
Отправляем универсальные уведомления
Наткнулся на интересный пакет notifiers, который позволяет отправлять уведомления на почту, через Телеграм бота, в Слэк и еще много куда. Всего доступно 16 провайдеров, подробнее про них в документации.
В функцию get_notifier передаем название провайдера в виде строки и получаем объект, с которым можно работать. Отправить уведомление можно с помощью универсального метода notify.
Если не уверены, какие аргументы нужно передать для отправки уведомления, то можете посмотреть их через атрибут required у созданного объекта.
Например, для Телеграма нужно передать токен бота, айди чата и само сообщение. В случае с почтой необходимо указать логин, пароль, адресата и также сообщение.
#уведомления #notifiers
44 544
Познакомьтесь с IceCream: Улучшенным выводом в Python
Hедавно мы наткнулись на потрясающий инструмент для отладки и разработки в
Python, и хотим поделиться им с вами! Представляем вам icecream - библиотеку, которая упрощает отладку, улучшая вывод ваших данных.
Что такое icecream?
icecream - это легковесная библиотека для Python, которая предоставляет простые, но мощные инструменты для отслеживания и вывода значений переменных и данных в процессе выполнения кода. Этот инструмент полезен при отладке, тестировании и разработке, помогая вам лучше понять, что происходит в вашей программе.
Преимущества icecream перед стандартным print:
1. Читабельность и простота в использовании: icecream автоматически выводит имя переменной и ее значение, что делает вывод более понятным и читабельным.
2. Цветовая кодировка: icecream поддерживает цветовую кодировку вывода, что делает его более наглядным и удобным для анализа.
Настройка icecream:
icecream позволяет настраивать вывод, добавлять дополнительную информацию, и даже сохранять логи в файл. Вы можете настроить icecream в соответствии с вашими потребностями, делая вывод более информативным и удобным.
from icecream import ic, install
install(autodetect=True, includeContext=True)
number = 42
ic(number)
text = "Привет, мир!"
ic(text)
Это добавит контекст, такой как имя файла и номер строки, в вывод:
ic| <ipython-input-1-5a0d5d83d2d3>:1 in <module> - number: 42
ic| <ipython-input-1-5a0d5d83d2d3>:4 in <module> - text: 'Привет, мир!'
Автор идеи поста: @hexvel
Если у вас есть предложения для следующего поста, делитесь в комментариях!
#Python #logging #icecream44 544
3 трюка с itertools
Начнем с функции
combinations: она позволяет составлять комбинации элементов из итерируемых объектов без повторений. Первый аргумент это сам объект, а второй — длина комбинации.
Для того, чтобы составить комбинацию с повторениями, используют функцию combinations_with_replacement. Делает она абсолютно все то же самое что и предыдущая, с одним исключением – теперь в комбинации могут быть повторы.
Ну и в заключение, рассмотрим функцию compress, применяющую "маску" из второго аргумента функции к первому. То есть, если в маске на этом месте стоит единица, то в исходном массиве элемент остается нетронутым, и наоборот.
#itertools44 544
Корутины
Некой противоположностью генераторов являются корутины. Для примера напишем функцию, которая будет в бесконечном цикле подставлять значение и выводить строку.
Обратите внимание на то, как было использовано ключевое слово
yield. При таком написании создаётся не генератор, а корутина, что позволяет не просто генерировать значения, но и принимать их.
Функция работает так: при отправке значения через метод send локальная переменная name принимает его, а далее значение подставляется в строку и выводится на экран.
#генераторы #корутины44 544
Открыть ИТ-компанию в два клика
На портале Госуслуг запустили «жизненную ситуацию», которая помогает пройти весь процесс запуска ИТ-бизнеса полностью онлайн.
Сервис работает как пошаговый навигатор: подсказывает, как определить вид деятельности, собрать документы, зарегистрировать компанию онлайн, получить аккредитацию и оформить права на программное обеспечение.
Сервис опирается на актуальные требования и сразу показывает, какие меры поддержки доступны ИТ-компаниям. Все действия — в одном месте, без лишних обращений и поиска информации.
Развитие цифровых сервисов идёт по нацпроекту «Экономика данных».
44 544
Типизация в Python с использованием модуля typing
В
Python модуль typing предоставляет возможность добавлять подсказки типов для переменных, функций и классов, что делает код более явным и понятным.
Зачем использовать типизацию?
1. Ясность и понятность кода: Добавление аннотаций типов помогает читателям быстро понять, какие данные ожидаются и какие типы переменных возвращаются из функций.
2. Предотвращение ошибок: Статические анализаторы кода, такие как mypy, могут обнаруживать потенциальные ошибки до выполнения программы, что уменьшает количество багов.
3. Документация кода: Подсказки типов могут служить формой документации, особенно полезной при совместной разработке. Разработчики могут быстро понимать интерфейсы функций и классов.
Пример использования типизации для переменных и функций:
from typing import List, Tuple
def multiply(a: int, b: int) -> int:
return a * b
def process_list(data: List[int]) -> Tuple[int, int]:
sum_values = sum(data)
average = sum_values / len(data)
return sum_values, average
# Пример использования
result1 = multiply(5, 3)# Ожидается int
data_list = [1, 2, 3, 4, 5]
result2 = process_list(data_list)# Ожидается Tuple[int, int]
Здесь a: int и b: int указывают на типы аргументов функции, а -> int и -> Tuple[int, int] - на типы возвращаемых значений. Это помогает читателям кода лучше понимать ожидаемую структуру данных и типы переменных.
Типизация делает ваш код более структурированным, улучшает его читабельность и может служить документацией, облегчая разработку.
#python #typing44 544
Строим графики
Для построения графиков в Python существует библиотека Matplotlib. Это мощный инструмент для визуализации данных.
Сначала нам нужен массив с данными, которые мы хотим изобразить на графике. Это может быть, например, список или
numpy массив.
Далее метод plt.plot(data) принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями.
Метод plt.show() откроет графическое окно с изображенным графиком.
Пример графика можно посмотреть здесь, а официальную документацию по Matplotlib можно почитать тут.
#matplotlib44 544
Выполняем код по расписанию
Часто от программиста требуется написать код, который должен выполняться в определенный промежуток времени или по расписанию. Для решения этой проблемы существует много решений, но одно из них — это библиотека aiocron.
Она позволяет просто описать в декораторе конфигурацию расписания, согласно которому метод будет запускаться. В примере выше функция
attime будет выполняться каджую минуту с 6 утра до 10 вечера в рабочие дни недели. Подробнее о написании своих расписаний можно почитать тут.
#aiocron44 544
Добавляем классу большую функциональность
На прошлой неделе мы объясняли декоратор
@classmethod, а сейчас рассмотрим @staticmethod.
@staticmethod можно воспринимать как метод, который "не знает, к какому классу относится". Он просто получает переданные аргументы, без неявного первого аргумента, и его определение не изменяется через наследование. Еще раз: статические методы прикреплены к классу лишь для удобства — и не могут менять состояние ни класса, ни его экземпляра.
Зачем использовать. Статические методы делают код более читабельным и повторно используемым. Его также удобнее использовать для импорта по сравнению с обычными функциями, поскольку функцию не нужно отдельно импортировать.
В чем же разница?
@classmethod используется в суперклассе для определения того, как метод должен вести себя, когда он вызывается разными дочерними классами.
@staticmethod используется, когда мы хотим вернуть объект, независимо от вызываемого дочернего класса.44 544
Использование списков в качестве стеков
Стек – абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (last in – first out). В переводе с английского "последним пришёл – первым вышел".
Списки в Python имеют удобные встроенные методы, которых достаточно для реализации такой структуры данных. Для добавления элемента в конец стека используем метод
append, для извлечения – pop.
Программный вид стека применяется для обхода структур по типу графов и деревьев. При реализации рекурсивных функций также будет применяться стек, но в таком случае уже его аппаратный вид.
#списки #стек44 544
Дескрипторы
Дескриптор – это атрибут объекта со “связанным поведением”, то есть такой атрибут, при доступе к которому его поведение переопределяется методом протокола дескриптора. Если хотя бы один из этих методов определен в объекте, то можно сказать, что этот метод – дескриптор.
Для того, чтобы определить свой собственный дескриптор, обычно определяют три специальных метода класса
__get__, __set__ или __delete__. После этого можно создать новый класс и в атрибут этого класса записать объект типа дескриптор.
У данного объекта будет переопределено поведение при доступе к атрибуту (__get__), при присваивании значений (__set__) или при удалении (__delete__).
#классы #дескрипторы44 544
Работаем со временем без головной боли
При работе со временем и датами у встроенных модулей есть несколько неприятных моментов:
— Их слишком много:
datetime, time, calendar, dateutil, pytz и другие;
— В них слишком много типов: date, time, datetime, tzinfo, timedelta, relativedelta и т. д.
И вот на днях я наткнулся на пакет arrow, который их решает. Во-первых, там есть все необходимое. Во-вторых, все объекты имеют один и тот же тип Arrow.
Большой плюс в том, что пакет совместим с основными встроенными типами. Например, выше я преобразовал datetime в Arrow и обратно.
Еще из приятных бонусов: там есть функция humanize, которая конвертирует время в читаемый текст.
#время #arrow44 544
Официальное упорядочивание словарей
Кстати, Python 3.7 на официальном уровне зафиксировал соответствие порядка перебора элементов словарей порядку их добавления.
Но для некоторых это не такая уж и новость, так как и в Python 3.6 словари уже были упорядочены, что видно на примере выше.
Однако это был просто побочный результат реализации, не зафиксированный в стандарте. Новый Python оформил его официально. Теперь можно быть уверенным в сохранении порядка вставки.
#словари
44 544
Как объяснить близким, кем вы работаете?
На обеденном перерыве попробовали составить шпаргалку для продуктовых аналитиков с помощью режима голосового общения ИИ-помощника Гигачата.
Сохраняйте и рассказывайте маме, девушке или младшему братику, если они не понимают ничего в IT, но хотят узнать о вашей работе чуть больше.
44 544
Хэширование
Для создания хэш-значений в python существует удобный модуль
hashlib, реализующий общий интерфейс для ряда популярных хэш функций и также может использовать функции доступные в системе, предоставляемые с установленным OpenSSL.
Использование очень простое, в модуле существует ряд конструкторов, соответствующих названиям хэш-функций. В конструктор мы можем передать байт-строку, хэш которой мы хотим получить, на выходе мы получим объект хэша. Объект хэша мы можем обновить методом update, сконкатенировав тем самым строки, а также можем можем вывести полученное значение с помощью методов digest и hexdigest. Первый возвращает байт-строку, второй - в шестнадцатеричном формате.
#hash #hashlib44 544
Хеширование в Python используя hashlib
Библиотека
hashlib предоставляет алгоритмы хеширования, которые позволяют создавать уникальные хеш-суммы для данных. Это полезно для проверки целостности файлов, хранения паролей в безопасной форме и других задач безопасности данных.
Пример кода:
import hashlib
# Пример хеширования строки с использованием SHA-256
data_to_hash = "Hello, World!"
hashed_data = hashlib.sha256(data_to_hash.encode()).hexdigest()
print(f"Исходные данные: {data_to_hash}")
print(f"Хеш-сумма (SHA-256): {hashed_data}")
В этом примере мы используем алгоритм SHA-256 из библиотеки hashlib для создания хеш-суммы строки "Hello, World!". Результат выводится в шестнадцатеричном формате.
Библиотека hashlib является одним из лучших инструментов для обеспечения безопасности данных в Python. Путем использования различных алгоритмов хеширования, таких как MD5, SHA-256 и других, вы можете обеспечить целостность данных и повысить уровень безопасности ваших приложений.
#python #hashlib
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
