Python | Программирование
9.87K subscribers
1.82K photos
2 videos
139 files
1.53K links
Python без границ для всех

Владелец, реклама @Ak_Mihail

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
📌 Разница между aiogram 2.x и aiogram 3.0

Объективно, у третьей версии красивее документация. К сожалению, она не полная. У неё много фич, по типу роутов (чуть позже поговорим о них), поддержки приглашений и «мультиботов».

Установка: pip install --pre -U aiogram

Вторая версия более стабильная, она уже «проверена временем». Если вам важна стабильность и не нужны новые фичи, то выбирайте вторую версию, если хочется что-то нового, aiogram 3.0 — отличный вариант.

Установка: pip install -U aiogram

#урок #aiogram
Отличный курс для изучения Python с нуля.

- Красиво.
- Бесплатно.
- Подойдет для всех, в том числе и абсолютных новичков.

🧷 https://futurecoder.io/

#Курс
📌 Запуск скрипта в интерактивном режиме с параметром -i

• Иногда необходимо в ручную протестировать некоторые функции или классы скрипта, и здесь программиста выручает интерактивный режим работы интерпретатора Python.

• После того как скрипт отработает, интерпретатор Python перейдет в режим командной строки.

• В этом режиме, например, можно вызвать любую функцию, определенную в скрипте с другими аргументами.

📕 Документация

#урок
📖 Математика на Python.

• Содержит инструкцию по установке языка на ПК, большое количество практических примеров использования языка Python для решения математических задач.

• Каждая тема включает примеры решения типовых задач и задачи для самостоятельного решения.

• Книга будет очень полезна всем студентам бакалавриата, изучающих математический анализ и линейную алгебру, которые стремятся знать самые современные вычислительные технологии, а также тем, кто хочет научиться программировать на языке Python и продолжать изучать его применение в статистическом анализе и анализе данных.

#RU
📌 Bot и Dispatcher

Bot(token)
— объект, для работы с API телеграмм. Это просто обёртка, никакой магии здесь нет.

Dispatcher(bot) — обработчик входящих событий: полученное сообщение, отредактированное, Callback'и. Через него можно передавать объекты в функции.

Пока простые темы, дальше будет интереснее. Всё про aiogram 3.0

Код

#урок #aiogram
📌 Запуск скрипта при выполнении импорта

• В момент импорта модуля происходит загрузка его содержимого для последующего доступа и использования. Самое интересное в этом процессе то, что на последнем этапе import запускает код.

• Когда модуль содержит только определения классов, функций, переменных и констант, то не будет видно, что код действительно выполнялся, но когда модуль включает в себя вызовы функций, методов или других инструкций, которые генерируют видимые результаты и расположенные вне сценария верхнего уровня '__main__', тогда станете свидетелем его исполнения.

• Необходимо отметить, что код, который выполняется вне сценария верхнего уровня '__main__' - работает только один раз за сеанс. После первого импорта последующие импорты ничего не делают, даже если изменить содержимое модуля. Это связано с тем, что операции импорта являются дорогостоящими и поэтому выполняются только один раз.

📕 Документация

#урок
📌 Bot polling

Чтобы понять, написал кто-либо боту или нет, он несколько раз в минуту отправляет запрос на сервера Telegram и спрашивает: «Случилось ли что-то интересненькое?»

Такой подход называется Bot polling. Он не очень эффективный, время от времени отваливается и создаёт много «шума», поэтому лучше использовать Webhook'и (в след. посте), но за них кому-то придётся платить.

#урок #aiogram
Ctypes Python – огромная скорость и безопасность компонентов

• В данном видео мы рассмотрим способы интеграции Python с языками Си и С++. Мы создадим 3 компонента на языки Си, скомпилируем их в готовые динамические библиотеки и подключим в Python для использования. Сам Python в данном примере служит лишь удобным интерфейсом для взаимодействия с библиотеками.

🧷 https://youtu.be/mYRBJ3oZ0Tw

#Видео
📌 Webhook'и

Альтернативный способ получать обновления от серверов Telegram — вебхуки. Бот говорит, на какую ссылку нужно отправлять данные когда происходит какое-то событие.

Библиотека aiogram использует aiohttp как клиент и сервер. Чтобы проверить работоспособность нужен сервер или белый IP, это есть не у всех, поэтому лучше использовать ngrok.

Вебхуки в Telegram работают только с https ссылками. Если вы не желаете покупать сертификат, можете использовать самоподписанный, но его надо будет передавать в bot.set_webhook().

Гайд по вебхукам от тг

#урок #aiogram
Как избавиться от циклов импорта в Python?

• В данном видео рассмотрим циклический импорт в Python, который мешает вашей программе сделать нормальную инициализацию модуля.

• В видео есть множество примеров с ошибками, которые могут разрушить ваш проект, и также на каждую ошибку приводится её решение.

🧷 https://youtu.be/dnWgblsNcGA

#Видео
📖 Asyncio и конкурентное программирование на Python.

• Если типичную программу на стандартном Python подвергнуть слишком высокой нагрузке, то она будет работать с черепашьей скоростью. Для решения этой проблемы была разработана библиотека #asyncio, которая позволяет разбить программу на более мелкие задачи и планировать их выполнение.

• По итогу получающиеся приложения работают молниеносно и допускают масштабирование. В этой книге асинхронное, параллельное и конкурентное программирование рассматривается на конкретных примерах. Сложные для понимания вопросы иллюстрируются с помощью диаграмм, позволяющих наглядно представить, как работают задачи.

#RU
Оператор "is" Python сложнее, чем вы думаете

• Подводные камни оператора is, которые могут вас удивить.

• Многие используют оператор "is" для сравнения значений, но не все знают, что это может вызвать огромное количество багов, если не знать о его особенностях, которые рассматриваются в данном видео.

• Мы также рассмотрим примеры, где его точно не следует применять и узнаем о том, почему именно он вызывает подобные баги и как это работает на более низком уровне.

🧷 https://youtu.be/mQk1NIV3HXM

#Видео
📌 logging

Это встроенная библиотека для ведения логов. По ней есть хороший HOWTO на официальном сайте Python (англ. яз.)

Из него вы узнаете как использовать logging, когда какой уровень использовать, в чём разница между ERROR и CRITICAL и как при этом заставить приложение работать быстро.

#урок
Сериализация объектов Python с помощью Pickle

• В данном видео мы узнаем как использовать Pickle для сериализации и десериализации данных, узнаем в каких случаях это стоит применять и какие особенности данной технологии.

• Также в конце видео рассмотрим уязвимости технологии и почему стоит её применять правильно. Если не знать об этом, можно создать проект, который будет уязвим к атакам.

🧷 https://youtu.be/jpBTigXHUeA

#Видео
📌 Переходим к новинкам: Router()

Это объект, с помощью которого можно разделить обработчики (handlers) на несколько файлов, а после подключить к основному Dispatcher().

Раньше для этого приходилось делать dispatcher глобальным или писать register_handlers().

#урок #aiogram
🧩 Лайфхаки Python: сэкономить память и ускорить выполнение программы

• Python часто ругают за то, что он медленный. Однако в нем существует несколько подходов, которые позволяют писать достаточно быстрый код. Сегодня поговорим про обработку списков.

🧷 https://tproger.ru/articles/lajfhaki-python-sjekonomit-pamjat-i-uskorit-vypolnenie-programmy/

#Статья
📌 Типы обработчики (handlers)

Функции которые обрабатывают сообщения — обработчики. Они принимает определённый тип сообщений и работают с ними.

Бот может принимать все обновления, сообщения, событие о редактировании сообщения, ответа на опрос. Весь список событий тут.

#урок #aiogram