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 43 867 subscribers, ranking 3 046 in the Technologies & Applications category and 14 313 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 43 867 subscribers.
According to the latest data from 04 November, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -286 over the last 30 days and by -9 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 5.01%. Within the first 24 hours after publication, content typically collects 2.36% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 197 views. Within the first day, a publication typically gains 1 036 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 7.
- 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 05 November, 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.
validate_email.
Модуль предоставляет одну основную одноименную функцию, предназначенную для валидации адреса, с помощью уже написанных регулярных выражений. Также в функции реализована проверка mx-записи у сервера и существования переданного адреса, за это отвечают необязательные параметры-флаги функции verify и check_mx.
Для обращения validate_email к DNS записям необходимо предварительно установить модуль py3dns.
#validate_emailcsv файла.
Чтобы загрузить датафрейм из файла (пример), используем метод pd.read_csv().
Применим фильтр по полю sepal.length > 5. В SQL данная операция выглядела бы таким образом:
SELECT * FROM df WHERE sepal.length > 5.
В pandas же для получения необходимых строк фрейма можем использовать метод loc, передав в нее необходимый фильтр:
df = df.loc[df['sepal.length'] > 5]
Для удаления одной или нескольких колонок можно использовать метод df.drop():
df = df.drop(columns=['petal.width', 'petal.length'])
При сохранении в файл мы можем дополнительно указать pandas не добавлять генерирующийся индекс строкам, если он нам не нужен:
df.to_csv('new_iris.csv', index = False)
#pandaszip принимает на вход в качестве аргументов итерируемые объекты, а возвращает итератор из кортежей, где i-й кортеж содержит i-й элемент из каждой последовательности.
Но если передать на вход итерируемые объекты неравной длины, то количество кортежей будет сформировано по самой короткой последовательности, а оставшиеся элементы в более длинных будут игнорироваться, что может привести к нежелательным результатам.
В python 3.10 в функцию был добавлен необязательный аргумент strict, который является флагом проверки входных итерируемых объектов на равенство их длин. В случае, если длины не равны, то будет выброшено исключение ValueError.
В случае же если требуется составить кортежи по всем элементам последовательности в независимости от равенства длин, в модуле itertools существует функция zip_longest. Данная функция работает точно также как zip, но заменяет отсутствующие элементы значением, переданным в fillvalue, которое по умолчанию равно None.
#zip #zip_longest #itertoolsnumpy массив.
Далее метод plt.plot(data) принимает наши данные и строит график в виде точек с координатами из массива и обьединяет их линиями.
Метод plt.show() откроет графическое окно с изображенным графиком.
Пример графика можно посмотреть здесь, а официальную документацию по Matplotlib можно почитать тут.
#matplotlibsecrets используется для генерации криптографически стойких случайных чисел, с помощью средств предоставляемых операционной системой. Что хорошо подходит при работе с паролями, токенами аутентификации.
Интерфейс использования secrets довольно прост и схож с random. Его основные функции:
secrets.choice(collection) - возвращает случайно выбранный элемент из переданной коллекции.
secrets.randbelow(n) - возвращает случайный int в диапазоне [0, n).
secrets.randbits(n) - возвращает целое число int состоящее из n случайных бит.
secrets.token_bytes(n) - возвращает случайную байтовую строку, содержащую n байт.
token_hex(n) - возвращает случайную строку из n байт в шестнадцатеричной формате.
token_urlsafe(n) - возвращает URL-безопасную строку, содержащая n байт, закодированную в Base64.
Также в модуле есть класс SystemRandom, который поддерживает большинство функций определенных в random.
#secrets #randomattime будет выполняться каджую минуту с 6 утра до 10 вечера в рабочие дни недели. Подробнее о написании своих расписаний можно почитать тут.
#aiocron-X для указания различных вариантов реализации.
Например, -X dev запускает скрипт в режиме разработки с функциями отладки и runtime-проверки, которые не используются по умолчанию из-за своей медлительности.
Также этот режим выводит дополнительные предупреждения в следующих случаях:
— Незакрытые файлы;
— Unawaited корутины;
— Неизвестная кодировка для str.encode;
— Проблемы с выделением памяти.
В целом, классная штука и имеет смысл периодически запускать скрипты в таком режиме, чтобы не упустить никакие баги.
#pythonfrom, после которого требуется указать ещё одно исключение. Это исключение будет подвязано к вызванному в атрибут __cause__ (поддерживает запись).
В результате, если вызванное исключение не обработано, то на вывод будут отправлены оба исключения.
#exceptionsys есть удобная переменная version_info, которая хранит в себе версию Python, с помощью которого был запущен скрипт.
Проверка версии интерпретатора может быть полезна в случае, если вы используете какие-то фичи из более новых версий языка.
#sys