📌 aoihttp
Это асинхронная библиотека, которая может одновременно составлять запросы и принимать их, то есть выступать клиентом и сервером.
Установка:
#урок
Это асинхронная библиотека, которая может одновременно составлять запросы и принимать их, то есть выступать клиентом и сервером.
Установка:
pip install aiohttp[speedups]
[speedups]
дополнительно устанавливает cchardet и aiodns — библиотеки, ускоряющие работу aiohttp.#урок
📌 Класс frozenset() в Python, преобразует в неизменяемое множество.
• Класс frozenset() преобразует строку или любую последовательность(итерацию) "хешируемых" объектов в неизменяемое множество frozenset (неупорядоченная, неизменяемая последовательность с исключением дубликатов элементов в последовательности).
• Если аргумент не указан, возвращается пустой, неизменяемый frozenset.
Примечание:
• Объект является "хешируемым", если у него есть хеш-значение, которое не изменяется в течение его времени жизни. Большинство неизменяемых встроенных объектов Python являются "хешируемыми". Изменяемые контейнеры, такие как списки или словари, не являются "хешируемыми"
📕 Документация
#урок
• Класс frozenset() преобразует строку или любую последовательность(итерацию) "хешируемых" объектов в неизменяемое множество frozenset (неупорядоченная, неизменяемая последовательность с исключением дубликатов элементов в последовательности).
• Если аргумент не указан, возвращается пустой, неизменяемый frozenset.
Примечание:
• Объект является "хешируемым", если у него есть хеш-значение, которое не изменяется в течение его времени жизни. Большинство неизменяемых встроенных объектов Python являются "хешируемыми". Изменяемые контейнеры, такие как списки или словари, не являются "хешируемыми"
📕 Документация
#урок
📌 Функция eval() выполняет строку-выражение с кодом.
• Функция eval() выполняет строку-выражение, переданную ей в качестве обязательного аргумента и возвращает результат выполнения этой строки.
• Аргументами eval() являются строка-выражение expression, которую требуется исполнить и необязательные глобальные globals и локальные locals значения. Передаваемые в функцию глобальные переменные должны быть словарем dict. Передаваемые локальные переменные могут быть любым отображающим объектом.
• Если глобальные переменные указаны, но словарь globals не содержит атрибута __builtins__ данные переданного словаря со значениями будут дополнены данными общего глобального пространства, перед разбором выражения. Таким образом, выражение будет иметь доступ ко всем встроенным модулям.
📕 Документация
#урок
• Функция eval() выполняет строку-выражение, переданную ей в качестве обязательного аргумента и возвращает результат выполнения этой строки.
• Аргументами eval() являются строка-выражение expression, которую требуется исполнить и необязательные глобальные globals и локальные locals значения. Передаваемые в функцию глобальные переменные должны быть словарем dict. Передаваемые локальные переменные могут быть любым отображающим объектом.
• Если глобальные переменные указаны, но словарь globals не содержит атрибута __builtins__ данные переданного словаря со значениями будут дополнены данными общего глобального пространства, перед разбором выражения. Таким образом, выражение будет иметь доступ ко всем встроенным модулям.
📕 Документация
#урок
📌 Класс dict() в Python создает словарь.
• Функция dict() создаст словарь, инициализированный из необязательного позиционного аргумента и возможно пустого набора ключевых аргументов.
• Если позиционный аргумент не задан, создается пустой словарь. Если заданы позиционные аргументы и они являются объектами сопоставления ('one': 1), создается словарь с теми же парами ключ-значение, что и объект сопоставления. В противном случае позиционный аргумент должен быть итерируемым объектом. Каждый элемент в массиве должен быть итерируемым с двумя объектами. Первый объект каждого элемента становится ключом в новом словаре, а второй объект-соответствующим значением. Если ключ встречается более одного раза, последнее значение для этого ключа становится соответствующим значением в новом словаре.
• Если заданы ключевые аргументы и их значения добавляются в словарь, созданный из позиционных аргументов, то значение одинакового ключа из позиционного аргумента заменяется значением ключевого аргумента.
• Предоставление ключевых аргументов dict(one=1, two=2, three=3) работает только для ключей, которые являются действительными идентификаторами Python. В противном случае могут быть использованы любые действительные ключи.
📕 Документация
#урок
• Функция dict() создаст словарь, инициализированный из необязательного позиционного аргумента и возможно пустого набора ключевых аргументов.
• Если позиционный аргумент не задан, создается пустой словарь. Если заданы позиционные аргументы и они являются объектами сопоставления ('one': 1), создается словарь с теми же парами ключ-значение, что и объект сопоставления. В противном случае позиционный аргумент должен быть итерируемым объектом. Каждый элемент в массиве должен быть итерируемым с двумя объектами. Первый объект каждого элемента становится ключом в новом словаре, а второй объект-соответствующим значением. Если ключ встречается более одного раза, последнее значение для этого ключа становится соответствующим значением в новом словаре.
• Если заданы ключевые аргументы и их значения добавляются в словарь, созданный из позиционных аргументов, то значение одинакового ключа из позиционного аргумента заменяется значением ключевого аргумента.
• Предоставление ключевых аргументов dict(one=1, two=2, three=3) работает только для ключей, которые являются действительными идентификаторами Python. В противном случае могут быть использованы любые действительные ключи.
📕 Документация
#урок
📌 Context Manager
Это мощный инструмент для управления ресурсами: файлами, которые нужно закрывать, соединениями, блокировками. Если что-то нужно сделать после работы с файлом, лучше всего использовать with.
Оператор вызывает
#урок
Это мощный инструмент для управления ресурсами: файлами, которые нужно закрывать, соединениями, блокировками. Если что-то нужно сделать после работы с файлом, лучше всего использовать with.
Оператор вызывает
__enter__
у объекта, выполняет первоначальные функции, а по окончанию работы — exit, где менеджер может освободить ресурсы, закрыть файл или соединение.#урок
🔖 Шпаргалка по типам данных
• Типы данных - это классификация или категоризация элементов данных. Он представляет собой тип значения, которое указывает, какие операции могут быть выполнены с конкретными данными. Поскольку в программировании на Python все является объектом, типы данных на самом деле являются классами, а переменные-экземплярами (объектами) этих классов.
#Шпаргалка
• Типы данных - это классификация или категоризация элементов данных. Он представляет собой тип значения, которое указывает, какие операции могут быть выполнены с конкретными данными. Поскольку в программировании на Python все является объектом, типы данных на самом деле являются классами, а переменные-экземплярами (объектами) этих классов.
#Шпаргалка
🔖 Шпаргалка по функциям Python
• Функция в Python — это фрагмент кода для повторного использования, который применяется для выполнения одного связанного действия.
#Шпаргалка
• Функция в Python — это фрагмент кода для повторного использования, который применяется для выполнения одного связанного действия.
#Шпаргалка
📌 SQLite
Реляционная база данных внутри файла. У неё только базовые возможности, но она подойдёт для маленьких систем и для тестирования.
Для работы с ней есть встроенная библиотека —
📕 Документация
#урок
Реляционная база данных внутри файла. У неё только базовые возможности, но она подойдёт для маленьких систем и для тестирования.
Для работы с ней есть встроенная библиотека —
sqlite3
. Также SQLite можно использовать и вместе с ORM, такими как SQLAlchemy.📕 Документация
#урок
🧩 Обзорный анализ Python веб-фреймворков
• Вместе с ML и Data Science, Web является одним из трёх китов, на которых стоит популярность языка Python. В данном анализе опустим все прелести Python и рассмотрим только веб-инструментарий, то есть фреймворки. Посмотрим, что выгодно отличает их от фреймворков в других языках, и разберём, в чём они конкурируют между собой.
🧷 https://tproger.ru/articles/obzornyj-analiz-python-veb-frejmvorkov/
#Статья
• Вместе с ML и Data Science, Web является одним из трёх китов, на которых стоит популярность языка Python. В данном анализе опустим все прелести Python и рассмотрим только веб-инструментарий, то есть фреймворки. Посмотрим, что выгодно отличает их от фреймворков в других языках, и разберём, в чём они конкурируют между собой.
🧷 https://tproger.ru/articles/obzornyj-analiz-python-veb-frejmvorkov/
#Статья
🧩 Списки в Python: методы и основные операции
• Списки в Python представляют собой упорядоченные изменяемые наборы объектов, пронумерованных от 0. При этом объекты могут быть разными — от целых чисел до строк. Списки могут также хранить в себе списки.
• В статье разберёмся с базовыми принципами списков в Питоне, а также рассмотрим методы работы с ними.
🧷 https://tproger.ru/articles/spiski-v-python-osnovy-i-metody/
#Статья
• Списки в Python представляют собой упорядоченные изменяемые наборы объектов, пронумерованных от 0. При этом объекты могут быть разными — от целых чисел до строк. Списки могут также хранить в себе списки.
• В статье разберёмся с базовыми принципами списков в Питоне, а также рассмотрим методы работы с ними.
🧷 https://tproger.ru/articles/spiski-v-python-osnovy-i-metody/
#Статья
📌 secrets
Модуль random генерирует псевдослучайные числа, а значит их можно предсказать имея определённые данные. Он не может использоваться в криптографии, а secrets — вполне.
Основная фишка в генерации токенов в виде набора байтов, шестнадцатеричных чисел или фрагмента ссылки.
#урок
Модуль random генерирует псевдослучайные числа, а значит их можно предсказать имея определённые данные. Он не может использоваться в криптографии, а secrets — вполне.
Основная фишка в генерации токенов в виде набора байтов, шестнадцатеричных чисел или фрагмента ссылки.
#урок
🧩 Подробный Python: или как переступить границу знаний
• Хотите чтобы ваш код выглядел качественно и лаконично и говорил о вас, как об опытном разработчике? Тогда давайте окунёмся немного глубже базовых знаний и посмотрим, насколько можно упростить свой код, как сделать его читаемым и не потерять желание возвращаться к своей работе снова.
🧷 https://tproger.ru/articles/podrobnyj-python-ili-kak-perestupit-granicu-znanij/
#Статья
• Хотите чтобы ваш код выглядел качественно и лаконично и говорил о вас, как об опытном разработчике? Тогда давайте окунёмся немного глубже базовых знаний и посмотрим, насколько можно упростить свой код, как сделать его читаемым и не потерять желание возвращаться к своей работе снова.
🧷 https://tproger.ru/articles/podrobnyj-python-ili-kak-perestupit-granicu-znanij/
#Статья
🧩 Как напечатать таблицу с помощью f-string
В этой статье мы разберём как напечатать красивые таблицы:
• С одинаковой шириной колонок;
• Сразной шириной колонок;
• С шапкой из двух строк.
А также создадим функции:
• С параметром максимальной ширины таблицы;
• Для записи таблицы в текстовый файл.
🧷 https://tproger.ru/articles/kak-napechatat-tablicu-s-pomoshhju-f-string/
#Статья
В этой статье мы разберём как напечатать красивые таблицы:
• С одинаковой шириной колонок;
• Сразной шириной колонок;
• С шапкой из двух строк.
А также создадим функции:
• С параметром максимальной ширины таблицы;
• Для записи таблицы в текстовый файл.
🧷 https://tproger.ru/articles/kak-napechatat-tablicu-s-pomoshhju-f-string/
#Статья
📌 Celery
Celery — программа, которая отслеживает и выполняет задачи. Её смысл в том, что она может выполнять несколько задача параллельно и не блокирует поставщиков задач.
У неё есть набор обработчиков, которые и занимаются выполнением задач. Хранятся задачи внутри базы данных, зачастую это Redis или RabbitMQ.
Celery хорошо себя чувствует и при масштабировании, ведь обработчиков можно запустить на нескольких серверах.
#урок
Celery — программа, которая отслеживает и выполняет задачи. Её смысл в том, что она может выполнять несколько задача параллельно и не блокирует поставщиков задач.
У неё есть набор обработчиков, которые и занимаются выполнением задач. Хранятся задачи внутри базы данных, зачастую это Redis или RabbitMQ.
Celery хорошо себя чувствует и при масштабировании, ведь обработчиков можно запустить на нескольких серверах.
#урок
Telegram Bot PYTHON - Создаем админку с интерфейсом для управления ботами (PyQt5 + PyTelegramBotApi)
• В данном видео мы реализуем админ-панель для управления ботами в телеграме. Админка содержит в себе возможность постить контент на множество каналов используя токен 1-го бота.
• Весь проект реализован на PyQt5 и PyTelegramBotApi, что позволяет использовать графический интерфейс для нашей программы и взаимодействовать с API телеграма.
🧷 https://youtu.be/C4FWuX4ETXw
#Видео
• В данном видео мы реализуем админ-панель для управления ботами в телеграме. Админка содержит в себе возможность постить контент на множество каналов используя токен 1-го бота.
• Весь проект реализован на PyQt5 и PyTelegramBotApi, что позволяет использовать графический интерфейс для нашей программы и взаимодействовать с API телеграма.
🧷 https://youtu.be/C4FWuX4ETXw
#Видео
Распознавание речи python с графическим интерфейсом (PYQT5)
• В данном видео реализована программа для распознавания речи python, которая позволяет используя различные методы переводить голос в текстовое содержимое, внутри программы вы можете использовать как и методы гугла и яндекса, так и переключиться на оффлайн режим.
🧷 https://youtu.be/NRPVObQLi3M
#Видео
• В данном видео реализована программа для распознавания речи python, которая позволяет используя различные методы переводить голос в текстовое содержимое, внутри программы вы можете использовать как и методы гугла и яндекса, так и переключиться на оффлайн режим.
🧷 https://youtu.be/NRPVObQLi3M
#Видео
SQLITE Python - Создаем форму для регистрации на PYQT5 и SQLITE3
• В данном видео мы создадим окно для авторизации и регистрации в нашем приложении используя sqlite и pyqt5 python. Мы реализуем простое окно, которое будет запрашивать данные пользователя, и в зависимости от его ввода, взаимодействовать с базой данных sqlite3.
• Мы рассмотрим создание таблицы в нашей базе, используя программу sqlite browser и нарисуем интерфейс python программы используя qt designer. Также узнаем каким образом можно добавлять новые значения в нашу базу и находить уже записанные ранее значения для взаимодействия с ними.
🧷 https://youtu.be/5Mm7Fiq3k8c
#Видео
• В данном видео мы создадим окно для авторизации и регистрации в нашем приложении используя sqlite и pyqt5 python. Мы реализуем простое окно, которое будет запрашивать данные пользователя, и в зависимости от его ввода, взаимодействовать с базой данных sqlite3.
• Мы рассмотрим создание таблицы в нашей базе, используя программу sqlite browser и нарисуем интерфейс python программы используя qt designer. Также узнаем каким образом можно добавлять новые значения в нашу базу и находить уже записанные ранее значения для взаимодействия с ними.
🧷 https://youtu.be/5Mm7Fiq3k8c
#Видео
📌 Хранение данных пользователя: FSM
Хранить данные о пользователи мы можем или в базе данных (Redis, Mongo) или в памяти. Для тестовой системы или простого бота вполне хватит второго варианта, а вот в проде лучше использовать БД.
Зачем? Таким образом, если у вас будет несколько серверов с запущенным ботом, данные будут всегда актуальны. К тому же, при обновлении бота, состояния пользователей не сбросятся.
#урок #aiogram
Хранить данные о пользователи мы можем или в базе данных (Redis, Mongo) или в памяти. Для тестовой системы или простого бота вполне хватит второго варианта, а вот в проде лучше использовать БД.
Зачем? Таким образом, если у вас будет несколько серверов с запущенным ботом, данные будут всегда актуальны. К тому же, при обновлении бота, состояния пользователей не сбросятся.
#урок #aiogram
Работа с файлами Python в оперативной памяти. IO Python - Собираем файлы в ОЗУ
• В данном видео мы рассмотрим модуль io, который позволяет использовать буфер для работы с файлами в озу. Мы покажем 2 примера, в которых будем использовать сначала работу с файлами используя для этого файловую систему с сохранением на диск, после чего на этом же примере мы покажем то, как можно производить те же действия используя только ОЗУ и никак не взаимодействуя при этом с жестким диском.
• Такой подход обеспечивает более высокую скорость выполнения и у вас нет необходимости сохранять что либо на диске, так как все действия можно произвести в оперативной памяти, к примеру обработать файл, передать его на сервер, в бота телеграмм и т.д.
🧷 https://youtu.be/ZFyM0JgLqjg
#Видео
• В данном видео мы рассмотрим модуль io, который позволяет использовать буфер для работы с файлами в озу. Мы покажем 2 примера, в которых будем использовать сначала работу с файлами используя для этого файловую систему с сохранением на диск, после чего на этом же примере мы покажем то, как можно производить те же действия используя только ОЗУ и никак не взаимодействуя при этом с жестким диском.
• Такой подход обеспечивает более высокую скорость выполнения и у вас нет необходимости сохранять что либо на диске, так как все действия можно произвести в оперативной памяти, к примеру обработать файл, передать его на сервер, в бота телеграмм и т.д.
🧷 https://youtu.be/ZFyM0JgLqjg
#Видео
📌 Finite State Machine
Конечный автомат — модель, которая говорит что у пользователя может быть определённое состояние, от которого зависит код. Между состояниями можно переключатся.
Если брать игры, то там у игрока есть состояния: бег, прыжок, приседание, ходьба. Если игрок сидит, то проигрывается соответствующая анимация, ходьба замедляется.
Мы же, в ботах, можем использовать состояния для считывания данных пользователя, управления большими меню, ведения нормальных диалогов.
Вообще, чтобы с этим всем не возиться, лучше использовать aiogram-dialog.
#урок #aiogram
Конечный автомат — модель, которая говорит что у пользователя может быть определённое состояние, от которого зависит код. Между состояниями можно переключатся.
Если брать игры, то там у игрока есть состояния: бег, прыжок, приседание, ходьба. Если игрок сидит, то проигрывается соответствующая анимация, ходьба замедляется.
Мы же, в ботах, можем использовать состояния для считывания данных пользователя, управления большими меню, ведения нормальных диалогов.
Вообще, чтобы с этим всем не возиться, лучше использовать aiogram-dialog.
#урок #aiogram
📌 Класс complex() создает/преобразовывает число/строку в комплексное число.
• Класс complex() преобразует строку с записью комплексного числа в комплексное число или вернет комплексное число со значением переданных аргументов: действительной и мнимой частью.
• Если первый параметр является строкой, например '3+5j', то выполнится преобразование строки в комплексное число, в этом случае второй параметр imag должен быть опущен.
• Второй параметр imag никогда не может быть строкой. Каждый аргумент может быть любого числового типа (int или float). Если imag опущен, то по умолчанию используется 0. Если оба аргумента опущены, возвращается 0j.
📕 Документация
#урок
• Класс complex() преобразует строку с записью комплексного числа в комплексное число или вернет комплексное число со значением переданных аргументов: действительной и мнимой частью.
• Если первый параметр является строкой, например '3+5j', то выполнится преобразование строки в комплексное число, в этом случае второй параметр imag должен быть опущен.
• Второй параметр imag никогда не может быть строкой. Каждый аргумент может быть любого числового типа (int или float). Если imag опущен, то по умолчанию используется 0. Если оба аргумента опущены, возвращается 0j.
📕 Документация
#урок