Идет загрузка данных
Идет загрузка данных
Идет загрузка данных
Decimal, который предоставит намного большую точность, но и его может не хватить в некоторых случаях. Поэтому для идеальных вычислений лучше использовать
Fraction, который представляет и хранит число в виде рациональной дроби. #числа #fraction
contextlibесть еще один прикольный контекстный менеджер —
redirect_stdout, позволяющий перенаправить стандартный вывод программы. Контекстный менеджер принимает аргумент, в котором мы можем указать, куда должен переправляться весь вывод в последующем блоке. Таким образом, данные из
print()в контекстом менеджере будут переправлены в открытый ранее файл, так как мы его передали в аргумент
redirect_stdout. Убедится в этом можем, открыв файл заново и прочитав оттуда данные. #contextlib
Streamlitпозволяет превращать скрипты
Pythonв интерактивные веб-приложения за считанные минуты, а не за недели. Создавайте информационные панели, генерируйте отчеты или создавайте приложения для чата. Создав приложение, вы можете использовать облачную платформу Community Cloud для развертывания, управления и распространения приложения. Почему стоит выбрать Streamlit? — Простота и питоничность: Пишите красивый, легко читаемый код. — Быстрое интерактивное создание прототипов: Позвольте другим людям взаимодействовать с вашими данными и быстро предоставлять отзывы. — Редактирование в реальном времени: Видите, как ваше приложение мгновенно обновляется по мере редактирования кода. #python #streamlit
pyenvвыглядит так: — Позволяет изменять глобальную версию Python для каждого пользователя; — Обеспечивает поддержку версий Python для каждого проекта; — Позволяет переопределить версию Python с помощью переменной окружения; — Выполняет поиск команд из нескольких версий Python одновременно. Кстати, этот проект основан на rbenv и ruby-build и модифицирован для Python. #pyenv
moviepyпозволяет обрезать и склеивать видео, добавлять видеоэффекты, а также редактировать звук. В целом, с пакетом разбораться не сложно, базовое использование показано на картинке. В примере мы открываем два видео, склеиваем их в одно, обрезаем полученный клип, уменьшаем громкость звука и в конце сохраняем результат. Здесь еще важно отметить, что запуск и выполнение скриптов с обработкой видео может занять относительно большое время. Такой пакет полезен в случаях, когда требуется обработать очень много видео по одному и тому же принципу. #moviepy
subprocess, который позволяет вызывать любую программу, как если бы это была обычная функция. Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
shполагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows. Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции. Также в модуле реализована функция
which, которая находит полный путь до программы либо возвращает
None, если программа не найдена. #sh
Python, вы можете использовать функцию
reload()из модуля
importlibЗамените
module_nameна фактическое имя модуля, который вы хотите перезагрузить. Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в проде без серьезных причин. #python #importlib
argvво встроенном модуле
sys. Первым элементом всегда является имя запускаемого скрипта, вторым и далее — непосредственно сами аргументы. #sys
Kivy- это мощный кроссплатформенный фреймворк для разработки графических интерфейсов пользователя (GUI). Основное его преимущество заключается в универсальности: созданные при помощи
Kivyприложения могут запускаться на различных операционных системах, включая Windows, macOS, Linux, а также мобильные платформы Android и iOS. #python #kivy
getу словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию. Таким образом, если значение по ключу не найдено, то вернется дефолтное значение. В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет. #python #dict
captchaи
Pillow, который используется для создание изображений в
captcha. Все максимально просто, за нас по сути все делает уже написанный в модуле код. Создаем объект изображения
ImageCaptcha, на который будет нанесен текст. После чего вызываем метод
writeс заданным текстом и именем файла, в который будет записано изображение. #captcha
-Xдля указания различных вариантов реализации. Например,
-X devзапускает скрипт в режиме разработки с функциями отладки и runtime-проверки, которые не используются по умолчанию из-за своей медлительности. Также этот режим выводит дополнительные предупреждения в следующих случаях: — Незакрытые файлы; — Unawaited корутины; — Неизвестная кодировка для
str.encode; — Проблемы с выделением памяти. В целом, классная штука и имеет смысл периодически запускать скрипты в таком режиме, чтобы не упустить никакие баги. #python
Ruff— Чрезвычайно быстрый линтер и форматер кода на
Python, написанный на
Rust. Основным преимуществом
Ruffявляется его скорость.
Ruffв 10-100 раз быстрее аналогов. В сравнении с
flake8, автор заявляет о практически полном совпадении с набором правил инструмента и нативной реализацией популярных плагинов (
flake8-bugbearи т.д.). Также
Ruffсовместим с
Black«из коробки».
Ruffможет форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практически идентична
isort. #python #ruff
memoryview()в Python предоставляет объект для доступа к внутреннему представлению данных в виде буфера без копирования. Этот объект позволяет вам просматривать байты объекта, не копируя их, а также выполнять различные операции на уровне байтов.
memoryview()также может использоваться для работы с массивами и другими объектами, поддерживающими буферный интерфейс в Python. Этот инструмент особенно полезен, когда вам нужно работать с большим объемом данных, и вы хотите избежать копирования данных, что может быть затратным с точки зрения времени и ресурсов. #python
setuptoolsявляется инструментом для упрощения процесса создания, установки и распространения пакетов Python. Она используется в основном для упрощения установки и управления зависимостями Python-пакетов.
setuptoolsпредоставляет функциональность для создания файлов
setup.py, которые содержат информацию о вашем пакете, его зависимостях и других метаданных. Этот файл используется инструментами для установки пакетов, такими как
pip. #python #setuptools
itertools, который позволяет генерировать все возможные комбинации символов из списка
charactersдлиной
password_length. Затем перебираются все комбинации и выводятся на экран. Обратите внимание, что перебор всех возможных 8-значных паролей может занять большое количество времени, особенно если количество символов в
charactersбольшое. Будьте осторожны и убедитесь, что ваше намерение соответствует законам и этическим правилам. #python #itertools
warningsпредоставляет возможность управления предупреждениями, которые могут быть выведены во время выполнения программы. Модуль
warningsполезен, когда необходимо предупредить пользователя о каком-либо условии в программе и это условие не требует создания исключения и завершения программы. #python
Pythonследует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь. Это крайне важно знать, потому что эти символы влияют на такие функции, как
int,
unicode.isdecimalи даже
re.match. Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен. #python #unicode