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
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 в вашей командной строке.
​​Изменяем размер изображения

Для изменения размера изображения воспользуемся библиотекой pillow.Функцией open()откроем нужное нам изображение и изменим его размер функцией resize()
Для того, чтобы использовать данный модуль, не забудьте его установить командой pip install pillow
​​Округление чисел с плавающей точкой

Функция round() округляет дробные числа до целых. Если дробная часть больше 0.5, то округление происходит в большую сторону. Если меньше - в меньшую.
​​Проверяем возможность вызова объекта

Для проверки возможности вызова воспользуемся встроенной функцией callable(). Она возвращает True или False в зависимости от того, имeет ли данный объект метод __call__
​​Запуск python скриптов из командной строки

Самым распространенным вариантом использования является простой вызов скрипта. Создайте файл с расширением .py и напишите туда необходимый код для вопролнения. Чтобы выполнить написанный вами код из командной строки, перейдите в нее, воспользуйтесь командой python и передайте необходимый файл
​​Планировщик задач

Периодические задачи - это задачи, которые выполняются многократно в течение определенного промежутка времени без вмешательства человека или с минимальным вмешательством. В период быстрого развития данных и технологий бывает необходимо запускать сценарии в определенное время или через промежуток времени.
С помощью библиотеки schedule вы можете запускать свой скрипт Python для выполнения периодических задач
Установите модуль командой pip install schedule
​​Передаем функцию в качестве аргумента

Любая объявленная функция может быть передана в другую функция в качестве аргумента. Поскольку каждая функция является объектом, то передается ссылка на эту функцию. Функция, которая получает ссылку может по этой ссылке вызывать другую функцию соблюдая правильное задание количества и типа параметров.
​​StackOverflow прямо из консоли

Зависли над какой-то проблемой и не можете вспомнить её решение? Нужно зайти на StackOverflow, но не хочется покидать терминал?
Установите модуль howdoi командой pip install howdoi и ищите ответы не выходя из консоли
​​Развертывание списка

Иногда есть необходимость развернуть несколько вложенных списков в один. Для этого может пригодиться встроенная библиотека itertools, которая с легкостью выполнит поставленную задачу