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

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

Преобрести рекламное размещение: https://telega.in/c/Python_libr
加入频道
Ctypes Python – огромная скорость и безопасность компонентов

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

🧷 https://youtu.be/mYRBJ3oZ0Tw

#Видео
📌 Bot polling

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

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

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

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

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

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

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

#урок
📌 Bot и Dispatcher

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

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

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

Код

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

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

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

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

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

#урок
📌 Разница между aiogram 2.x и aiogram 3.0

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

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

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

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

#урок #aiogram
📌 Функция bin()

• Функция bin() преобразует целое число в двоичную строку с префиксом 0b.

• Результатом будет binary string - двоичная версия заданного целого числа x.

• Пример преобразований чисел в двоичную систему счисления (на картинке).

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

#урок
📌 aiogram-dialog

Библиотека для создания многоуровневых и трудных диалоговых меню в ботах, используемая с aiogram.

Поддерживает бета версию aiogram, для этого нужно к pip install добавить --pre.

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

Я увидел, что вы набрали в два раза больше ⚡️ чем нужно на предыдущем посте. Уже готовлю материал.

#урок #aiogram
📌 Функция ascii()

• Функция ascii() возвращает строку, содержащую печатаемое представление объекта (читаемую версию объекта, например: списка, кортежа, словаря и т.д.).

• В возвращаемой строке функция ascii() экранирует символы, отличные от ASCII (например: ф будет заменена на '\u0444').

• Пример преобразования текстовой строки в строку в ASCII символов (на картинке).

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

#урок
📌 aiogram

Асинхронная библиотека для создания telegram ботов. У неё 3к звёзд на Github, большое сообщество и неплохая документация.

Сейчас доступна ещё и бета версия с новыми возможности. Ей доступны новые фишки тг, по типу приглашений в чат, но она ещё тестируется и со скудной документацией.

Тут можно найти список по шаблонам, примерам и библиотекам для aiogram.

Когда наберёте 10 ⚡️, сделаю небольшой курс по aiogram

#урок #aiogram
Шпаргалка по методам списка Python

• Append()
• Insert()
• Remove()
• Pop()

#Шпаргалка
📌 shutil

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

#урок
Шпаргалка по Библиотекам Python для:

• Машинного обучения.
• Науки о данных.
• Веб-разработки.
• Разработки игр.
• Автоматизированного тестирования.

#Шпаргалка
📌 orjson

Библиотека, которая в несколько раз быстрее работает с JSON. Для сравнения, обработка файла размером 1.1MiB занимает 0.71мс, а у json — 33.42. Вот доказательства.

Поскольку это дополнительная зависимость, её лучше сделать необязательной и импортировать так же, как в примере.

#урок
🧩 ChatGPT: нейросеть, которая умеет кодить, рисовать и запускать симуляцию внутри самой себя

• Компания OpenAI, которая до этого запустила DALL-E и Codex, опубликовала новую языковую модель ChatGPT на основе GPT 3.5.

• Нейросеть может общаться с человеком в чате и давать ответы на самые разные вопросы.

• Одна из главных фишек модели — способность понимать контекст разговора. Siri или Alexa, к примеру, не могут долго поддерживать связную беседу, поскольку начинают теряться в её сути. А вот у ChatGPT таких проблем не возникает.

🧷 https://tproger.ru/articles/chatgpt-nejroset-kotoraja-umeet-kodit-risovat-i-zapuskat-simuljaciju-vnutri-samoj-sebja/

#Статья
📌 collections.Counter

Это подкласс класса dict, и он используется для подсчета вхождений объектов в итерации.

most_common(n) — возвращает n самых часто встречающихся элементов.

#теория
🧩 Telegram-бот на Python за полчаса с aiogram

• Напишем простой диалоговый Telegram-бот на Python, который в дальнейшем можно дополнить различными функциями, и задеплоим его.

🧷 https://tproger.ru/articles/telegram-bot-create-and-deploy/

#Статья
📌 warnings

Модуль для вывода предупреждений в коде. Они выводят предупреждения в консоль, но не прекращают выполнение программы.

Это можно использовать для напоминания о Deprecated функциях, о необработанных корутинах (забытый await).

#теория
🧩 Задачи по Python для начинающих от Tproger и GeekBrains

• Вместе с факультетом Python-разработки GeekUniversity собрали для вас несколько простых задач по Python для обучения и тренировки. Их можно решать в любом порядке.

• Обратите внимание, что у любой задачи по программированию может быть несколько способов решения. Чтобы посмотреть добавленный нами вариант решения, кликните по соответствующей кнопке. Все приведённые варианты написаны на Python 3.

🧷 https://tproger.ru/problems/python-3-exercises-for-beginners-geekbrains/

#Статья
📌 apscheduler

Библиотека позволяющая откладывать выполнение каких-то операций на потом или обрабатывать их в фоне.

Она намного лучше встроенного sched, поскольку позволяет запускать асинхронные обработчики и хранить задачи в базе данных (Redis, MongoDB).

#теория