Использование комплексных чисел в Python
Никого здесь уже не удивить такими встроенными типами, как например
В Python комплексные числа представлены в виде
Комплексное число легко можно превратить в строку с помощью функции
Хотя
#complex
Никого здесь уже не удивить такими встроенными типами, как например
int
, float
, и подобными. Но кроме них в Python существует еще один довольно интересный тип, а именно, complex
.В Python комплексные числа представлены в виде
x + iy
. А точнее говоря, вместо буквы i
здесь используется буква j
, во избежание некоторой путаницы, поскольку i
чаще всего занята под циклы. Python преобразует реальные числа x
и y
(будь то int
или float
) в комплексное с помощью функции complex(x,y)
.Комплексное число легко можно превратить в строку с помощью функции
str
или посчитать его модуль с помощью функции abs
, а также для доступа к его реальной или мнимой частям можно воспользоваться методами real
и imag
.Хотя
complex
и является встроенным типом, для более удобной работы с комплексными операциями рекомендуется импортировать модуль cmath
.#complex
❤3🔥1😱1
Итерируемый счетчик
Еще один классный итератор из
В аргументах можно задать значения
Обычно
#itertools
Еще один классный итератор из
itertools
— это count
, который генерирует бесконечную последовательность чисел.В аргументах можно задать значения
start
и step
: первый отвечает за начальное значение, а второе за шаг, как и в range
.Обычно
count
редко используют с циклом for
. Чаще можно встретить случаи с функциями типа zip
или map
.#itertools
👍6❤3
Peewee: Легкая и мощная ORM библиотека для работы с базами данных на Python
Для начала работы с
Одной из ключевых особенностей
Peewee также предоставляет возможность создавать миграции, что облегчает обновление схемы базы данных в процессе разработки.
Документация доступна тут
Peewee
- это небольшая и высокоэффективная ORM (Object-Relational Mapping)
библиотека на Python
, которая облегчает взаимодействие с базами данных и управление данными в ваших приложениях. Она предоставляет удобные средства для создания, чтения, обновления и удаления данных в базе данных, что делает работу с БД более интуитивной и удобной.Для начала работы с
Peewee
, вы можете установить библиотеку с помощью pip
. Затем вы можете определить модели данных и их отношения, а Peewee
автоматически создаст соответствующую структуру в вашей базе данных. Peewee поддерживает различные типы баз данных, включая SQLite
, MySQL
, PostgreSQL
и другие.Одной из ключевых особенностей
Peewee
является его простота использования и понятный синтаксис. Вы можете выполнять запросы к данным с минимальными усилиями, а также выполнять сложные операции, такие как объединение таблиц, агрегирование данных и многое другое.Peewee также предоставляет возможность создавать миграции, что облегчает обновление схемы базы данных в процессе разработки.
Документация доступна тут
🔥5👍1
Распознаем речь используя SpeechRecognition
Эта библиотека упрощает процесс интеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей,
#python #speechrecognition
SpeechRecognition
— это библиотека на Python
, которая предоставляет возможность использовать API для распознавания речи от различных компаний, таких как Google, Microsoft, IBM и другие. Кроме того, она поддерживает работу в офлайн-режиме.Эта библиотека упрощает процесс интеграции голосовых команд и обработки аудиоданных в ваших проектах. Благодаря широкому спектру возможностей,
SpeechRecognition
подходит для создания приложений с голосовым управлением, интеллектуальных ассистентов и многого другого.#python #speechrecognition
❤3
Управление лимитом рекурсии в Python
В
Однако, используя модуль
В большинстве случаев предпочтительнее использовать итеративные подходы, такие как циклы, вместо рекурсии.
#python #recursion
В
Python
отсутствует оптимизация хвостовой рекурсии, что часто приводит к ошибке RecursionError
при разработке рекурсивных алгоритмов.Однако, используя модуль
sys
, можно узнать и даже изменить максимально допустимую глубину рекурсии. Несмотря на это, следует быть осторожным с увеличением лимита, так как каждый вызов рекурсии потребляет значительное количество памяти.В большинстве случаев предпочтительнее использовать итеративные подходы, такие как циклы, вместо рекурсии.
#python #recursion
pow()
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
#python
В Python функция pow() используется для вычисления степени числа. Вот как она работает:
result = pow(x, y, z)
где: x — основание степени,
y — показатель степени,
z (необязательный параметр) — модуль, по которому производится вычисление.
Если z указан, то pow(x, y, z) возвращает (x y) % z. Если z не указан, то возвращается x y.
#python
👍2
Автоматизируем браузер с Pyppeteer
Пример использования
#python #pyppeteer
Pyppeteer
— это Python-библиотека, позволяющая управлять браузером с помощью инструмента Puppeteer
, изначально разработанного для Node.js
. Puppeteer
предоставляет возможность автоматизировать взаимодействие с веб-страницами, выполнять сценарии на основе браузера, делать скриншоты, создавать PDF-файлы и многое другое.Пример использования
Pyppeteer
для выполнения поиска в Google и сохранения результатов в виде скриншота доступен на фото.#python #pyppeteer
❤7
Метод setdefault()
Метод
Метод
— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
#python
Метод
setdefault()
в Python возвращает значение по указанному ключу из словаря. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.Метод
setdefault()
имеет два параметра:— Ключ, по которому необходимо получить значение.
— Значение по умолчанию, которое будет добавлено в словарь, если ключ отсутствует.
Если ключ присутствует в словаре, метод возвращает значение, связанное с этим ключом. Если ключ отсутствует в словаре, метод добавляет ключ в словарь со значением по умолчанию, а затем возвращает это значение.
#python
👍5
Функция math.perm()
Он требует указания двух параметров:
Пример использования: расчет количества перестановок трех элементов из пяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств из пятерки.
#python
math.perm()
используется для определения количества возможных способов выбора и расположения m элементов из набора n элементов. Этот метод включен в модуль math
.Он требует указания двух параметров:
n
— общее число элементов в наборе, и m
— число элементов в каждой возможной выборке. Результатом выполнения функции является целочисленное значение, представляющее число таких перестановок. Если n
меньше m
, функция возвратит 0.Пример использования: расчет количества перестановок трех элементов из пяти. Это демонстрирует, сколько существует вариантов формирования трехэлементных подмножеств из пятерки.
#python
👍2❤1
Находим опечатки в тексте
Полезный пакет
Под капотом модуль использует алгоритм расстояния Левенштейна. А сам код основан на статье, написанной в блоге Питера Норвига. Короче, реализация интересная, советую поизучать.
Но даже если не вникать в подробности, то пакет использовать крайне легко. Примеры использования класса
Пакет поддерживает 6 языков, включая русский. Но за подробностями отправляю вас читать документацию.
#spellchecker
Полезный пакет
spellchecker
позволяет находить опечатки в тексте и даже дает возможные варианты исправлений. Под капотом модуль использует алгоритм расстояния Левенштейна. А сам код основан на статье, написанной в блоге Питера Норвига. Короче, реализация интересная, советую поизучать.
Но даже если не вникать в подробности, то пакет использовать крайне легко. Примеры использования класса
SpellChecker
и его методов correction
и candidates
показаны на картинке. Пакет поддерживает 6 языков, включая русский. Но за подробностями отправляю вас читать документацию.
#spellchecker
👍2❤1
Обработка видео с помощью MoviePy
Пакет достаточно прост в освоении, и базовые принципы его использования можно увидеть на примере. В данном случае, мы открываем два видеофайла, соединяем их в один, обрезаем получившийся клип, уменьшаем громкость звука и сохраняем итоговый результат.
Стоит учитывать, что обработка видео, особенно больших файлов, может занять значительное время.
#python #moviepy
MoviePy
- это удобный пакет для выполнения различных задач по редактированию видео, включая обрезку и склейку клипов, добавление видеоэффектов и редактирование аудиодорожки.Пакет достаточно прост в освоении, и базовые принципы его использования можно увидеть на примере. В данном случае, мы открываем два видеофайла, соединяем их в один, обрезаем получившийся клип, уменьшаем громкость звука и сохраняем итоговый результат.
Стоит учитывать, что обработка видео, особенно больших файлов, может занять значительное время.
MoviePy
особенно полезен, когда необходимо автоматизировать обработку большого количества видео по единому алгоритму.#python #moviepy
👍7
asyncio: Асинхронное программирование на Python
Для начала работы с
Одной из причин использовать
Дополнительная информация о
asyncio
- это библиотека, разработанная специально для асинхронного программирования и управления параллельными задачами. Она предоставляет инструменты для эффективной работы с асинхронными операциями, позволяя создавать быстрые и отзывчивые приложения.Для начала работы с
asyncio
, вам необходимо импортировать библиотеку, и вы сразу получаете доступ к асинхронным функциям и ключевым словам, таким как async
и await
. Это делает возможным создание асинхронных функций, которые могут выполняться параллельно, без блокировки основного потока выполнения.Одной из причин использовать
asyncio
является его способность эффективно обрабатывать большое количество параллельных задач, что делает его идеальным решением для сетевых операций, ввода/вывода и других операций, которые могут вызвать задержку. Вы можете легко создавать и использовать уже готовые асинхронные HTTP-клиенты (например, с использованием aiohttp
и httpx
), веб-серверы и веб-скраперы, которые будут быстро обрабатывать большие объемы данных.Дополнительная информация о
asyncio
, такая как работа с очередями, ивент-лупы, обработка ошибок и другие возможности, доступна в официальной документации Python.❤7👍3👎1
Зачем использовать pdb
Этот модуль обладает интерфейсом командной строки, с помощью которого можно управлять выполнением кода на Python в реальном времени. Чтобы активировать режим
#python #pdb
pdb
— это интерактивный отладчик Python
, который позволяет пользователю управлять выполнением программы: перемещаться по коду, просматривать и изменять значения переменных, пошагово проходить через код, включая вложенные структуры, устанавливать точки остановок и выполнять другие типичные действия для отладки.Этот модуль обладает интерфейсом командной строки, с помощью которого можно управлять выполнением кода на Python в реальном времени. Чтобы активировать режим
pdb
в вашей программе, достаточно добавить следующую строку кода.#python #pdb
❤5
Работа с форматированием текста
textwrap — это стандартная библиотека, которая спользуется для форматирования текста в тех случаях, когда нам нужна красивая печать.
Он предлагает функциональность аналогичную текстовым редакторам и текстовым процессорам.
Немного о возможностях:
#python #textwrap
textwrap — это стандартная библиотека, которая спользуется для форматирования текста в тех случаях, когда нам нужна красивая печать.
Он предлагает функциональность аналогичную текстовым редакторам и текстовым процессорам.
Немного о возможностях:
textwrap.fill()
— принимает текст и возвращает отформатированный текст, первая строка сохраняет свой отступ, а пробелы в начале каждой последующей строки вставляются в абзац.textwrap.dedent()
— используется для удаления общего префикса пробела из всех строк в тексте.textwrap.indent()
— используется для добавления текст префикса ко всем строкам в параграфе#python #textwrap
❤2😱2
Управление базой данных в Python с Alembic и SQLAlchemy
Сегодня мы поговорим о том, как можно эффективно управлять структурой вашей базы данных в
Что такое Alembic и SQLAlchemy?
Пример использования
1. Установка библиотек:
2. Инициализация Alembic:
3. Определение моделей данных в
4. Создание миграции:
5. Применение миграции:
Теперь вы можете легко управлять структурой базы данных, создавать новые миграции и применять их, чтобы обновить вашу базу данных.
Полезные ссылки:
- SQLAlchemy: https://www.sqlalchemy.org/
- Alembic: https://alembic.sqlalchemy.org/
#python #sqlalchemy #alembic #базаданных #миграции
Сегодня мы поговорим о том, как можно эффективно управлять структурой вашей базы данных в
Python
с использованием библиотек Alembic
и SQLAlchemy
. Эта связка инструментов позволяет легко мигрировать схему базы данных, управлять версиями и обеспечивает удобный способ разработки и поддержки приложений.Что такое Alembic и SQLAlchemy?
SQLAlchemy
- это мощная библиотека для работы с базами данных в Python. Она предоставляет ORM (Object-Relational Mapping)
, что делает работу с базой данных более Pythonic
. Вы можете определять модели данных, выполнять запросы и манипулировать данными, используя чистый Python
.Alembic
- это инструмент для управления миграциями базы данных. Он позволяет создавать и применять миграции для изменения структуры базы данных, такие как создание таблиц, добавление столбцов или изменение индексов.Пример использования
Alembic
и SQLAlchemy
:1. Установка библиотек:
pip install sqlalchemy alembic
2. Инициализация Alembic:
alembic init my_migration
3. Определение моделей данных в
SQLAlchemy
:from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)
4. Создание миграции:
alembic revision --autogenerate -m "Create user table"
5. Применение миграции:
alembic upgrade head
Теперь вы можете легко управлять структурой базы данных, создавать новые миграции и применять их, чтобы обновить вашу базу данных.
Полезные ссылки:
- SQLAlchemy: https://www.sqlalchemy.org/
- Alembic: https://alembic.sqlalchemy.org/
#python #sqlalchemy #alembic #базаданных #миграции
❤6👍1
Pyfiglet — генерация ASCII-арт текста
Pyfiglet — это библиотека Python, которая позволяет легко создавать красивый ASCII-арт текст прямо в консоли. Идеально подходит для добавления стилизованных заголовков и баннеров в ваши консольные приложения.
Отличный способ оживить вывод вашего кода и привлечь внимание к важным сообщениям.
Pyfiglet — это библиотека Python, которая позволяет легко создавать красивый ASCII-арт текст прямо в консоли. Идеально подходит для добавления стилизованных заголовков и баннеров в ваши консольные приложения.
Отличный способ оживить вывод вашего кода и привлечь внимание к важным сообщениям.
❤1
PyOxidizer
PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.
#python
PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.
#python
🔥11👍4❤1
dict.get()
Синтаксис метода
#python
dict.get()
— это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]
), метод get()
предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.Синтаксис метода
get()
выглядит так:value = dict.get(key, default)
key
: Ключ, по которому производится поиск в словаре.default
(необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default
не указан, и ключ не найден, метод вернет None
.#python
👍9
Упрощенная работа с JSON
Казалось бы, куда еще проще, но есть один интересный пакет
Основные примеры использования показаны на картинке, там нет ничего сложного. Метод
Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath
Казалось бы, куда еще проще, но есть один интересный пакет
JMESpath
, который позволяет декларативно указать, как извлекать элементы из документа JSON. Основные примеры использования показаны на картинке, там нет ничего сложного. Метод
search
принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON). Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации.
#json #jmespath
❤4
Порядок разрешения методов
В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов в классе. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.
Этот порядок можно получить при помощи атрибута
Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.
#классы
В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов в классе. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод.
Этот порядок можно получить при помощи атрибута
__mro__
. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value
, Python будет искать сначала в классе A
, далее в B
, затем в C
и в самом конце в object
. Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1.
#классы
👍1