Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
​​Генерируем QR-код

QR-код — это один из видов матричного штрихкода. Оптическая метка, которую могут считывать машины и которая содержит информацию о каком-либо предмете. На практике QR-коды часто содержат указатели на сайт или приложение.

Библиотека qrcode поможет нам в создании.
Для начала установите необходимые библиотеки командой pip install qrcode pillow
​​Создание таблиц

PrettyTable - это библиотека Python, с помощью которой у вас появится возможность представить данные в виде таблицы ASCII.

Модуль не имеет особых сложностей в структуризации, наименования столбцов задается по команде fieldsname, а строки - методом addrow.
Не забудьте установить библиотеку командой pip install prettytable
​​Преобразование изменяемых данных в неизменяемые

Изменяемые данные (например, словари или списки) — это структуры, к которым могут быть добавлены новые значения.
Неизменяемые данные, в противоположность изменяемым, после создания остаются неизменными. Посмотрите, как можно преобразовать изменяемый тип данных в неизменяемый.
​​Расчет времени выполнения функции

Этот простейший “трюк” поможет рассчитать время, необходимое для выполнения программы. Используя time-модуль, вы можете точно узнать, сколько времени требуется программе для выполнения кода.
​​Вывод календаря для указанного месяца

Данный лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
​​Вывод текущей дериктории

Иногда бывает необходимо узнать текущую дерикторию. Чтобы это сделать, можно использовать модуль встроенный модуль os.
​​Генерирование уникальных идентификаторов

Простой и быстрый способ генерирования Универсальных уникальных идентификаторов — это использование модуля uuid из стандартной библиотеки Python.
Данный модуль создает произвольное 128-битное число, которое почти наверняка окажется уникальным. Вероятность повтора комбинации в данном диапазоне ничтожно мала.
​​Обработка исключений

Когда возникает ошибка или исключение, Python генерирует сообщение об ошибке и останавливает программу.
Эти исключения можно обрабатывать с помощью try оператора:
​​Валидаторы данных

Как правило, разработчики пишут регулярные выражения для обработки специфических строк. Но для таких данных как, почта или ссылка, изобретать велосипед не нужно.

Модуль validators позволяет использовать уже готовые валидаторы для самых распространенных задач. В примере можете как раз увидеть валидацию почты и ссылок.
Не забудьте установовить модуль командой pip install validators
​​Открытие веб-страниц из консоли или python кода

Для того чтобы открыть веб-страницу с помощью python кода, можно использовать встроенный модуль webbrowser
​​Нахождение наибольшего общего делителя

В стандартной математической библиотеке Python есть отличные методы, которые упрощают практически любые базовые математические вычисления. Вот метод .gcd(), показывающий наибольший общий делитель:
​​Встроенная документация

Если вы хотите прочитать документацию по какому-либо методу или классу, можете воспользоваться функцией help()
​​Заглушка в коде

В ходе исполнения оператора pass ничего не происходит, поэтому он может использоваться в качестве некой заглушки в тех местах, где это синтаксически необходимо.
This media is not supported in your browser
VIEW IN TELEGRAM
Replit — мой второй телеграм-канал, где я каждый день выкладываю крутые проекты на разных языках программирования(в том числе на Python). От самых простых калькуляторов, до сложных систем и игр. 

Можно взять проект за основу, усовершенствовать и добавить его в свое портфолио! 🔥
​​Кэширование

Модуль functools содержит весьма полезный декоратор под названием lru_cache. это декоратор, который добавляет кэширование к декорируемой функции.
Представим, что нам надо подсчитать сотое число Фибоначчи, кэширование в данном случае поможет сделать это гораздо быстрее.
​​Превращаем текст в речь

Библиотека gTTS (Google Text-to-Speech) взаимодействует с Google Translate's text-to-speech API и позволяет делать из текста аудиофайлы.

При создании экземпляра класса gTTS мы передаем исходный текст первым аргументом. Также можно передать опциональный аргумент, отвечающий за язык, который по умолчанию является английским. 

Сохранить полученный результат можно с помощью метода save, в который передаем название файла. 

Не забудьте установить библиотеку командой pip install gtts
​​Создание скриншотов

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

Для создания скриншота используется метод grab, для сохранения – save.

Не забудьте установить библиотеку командой pip install pyscreenshot
​​Узнаём скорость интернета

Воспользуемся библиотекой Speedtest.

У объекта класса Speedtest методы download() и upload() , которые отдают скорость скачивания и загрузки данных.

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

В Python имя переменной может состоять из одного подчеркивания.

Данная переменная используется в интерактивном режиме для хранения результата последнего выполненного выражения. Для этого воспользуйтесь консолью python
​​Прогресс выполнения программы

Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль tqdm является простым и лаконичным вариантом.