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
​​Вывод календаря для указанного месяца

Данный лайфхак — всего лишь скрытая функция 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 является простым и лаконичным вариантом.
​​Присваивание нумерации каждому итерируемому элементу

Вызов функции enumerate(iter)присваивает значение счетчика (индекса) каждому элементу итерации iter.
​​Генерация случайных данных

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

Для установки библиотеки используйте команду
pip install Faker
​​Преобразование текста в числа

Библиотека Numerizer поможет преобразовать буквенную запись значений в численную

Для использования данного модуля установите его командой pip install numerizer
​​Эмодзи

Работа с эмодзи может быть реализована с помощью модуля emoji, представленного в Python. Для установки данного модуля используйте команду pip install emojiв вашей командной строке.
Список всех доступных эмодзи вы можете посмотреть по ссылке
​​Рисуем графы

Модуль objgraph позволяет нарисовать граф объектов. Функция show_refs() отобразит связи между объектами и сохранит картинку в нужную вам дерикторию.
Не забудьте установить библиотеку командой pip install objgraph в вашей командной строке.