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
​​Получение наибольших или наименьших чисел из списка

Представим, что у вас есть список с числами и необходимо получить указанное число наибольших или наименьших чисел из него.
Одно из решений данной задачи - использование встроенной библиотеки heapq
​​Подсчет всех уникальных значений

Вы можете использовать метод Counter из библиотеки collections, чтобы получить словарь с подсчетом всех уникальных элементов в списке:
​​Просмотр всех методов и атрибутов объекта

Все атрибуты и методы объекта можно посмотреть с помощью функции dir() . Данная функция ведет себя по-разному с разными типами объектов.
Для объектов класса она возвращает список имен всех допустимых атрибутов и базовых атрибутов. 
 
Для объектов библиотек функция вернёт список имен всех атрибутов, содержащихся в этом модуле. 
 
Если параметры не переданы, она возвращает список имен в текущей локальной области.
​​Печать словаря из большого количества вложенных объектов

Для увеличения читаемости при печати словаря из большого количества вложенных объектов может пригодиться модуль pprint
​​Wikipedia в Python 

Библиотека wikipedia позволяет взаимодействовать с Википедией не выходя из редактора, для этого установите модуль командой pip install wikipedia. Метод page позволит получить страницу по вашему запросу, а summary отдаст короткое содержание найденной статьи.
​​Выполнение строки как обычного python кода

В Python есть возможность динамически считывать строку и обрабатывать её как часть Python кода. Это достигается использованием функций eval() для вычисления выражений и exec() для выполнения операторов
​​Загрузка файлов из интернета

Один из простейших способов загрузить файлы в Python – через модуль wget, с которым вам не нужно открывать конечный файл. Метод download модуля wget загружает файлы в одну строчку. Метод принимает два параметра: URL путь к загружаемому файлу и локальный путь, где следует сохранить файл.
Для того, чтобы использовать wget, не забудьте выполнить команду pip install wget
​​Работа с массивами с помощью библиотеки NumPy

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

Тим Петерс ещё в далёком 1999 году предложил PEP 20, который должен был содержать в себе 20 правил по написанию кода. Но в итоге их оказалось всего 19. 

Последний пункт он предложил написать Гвидо Ван Россуму, однако он не написал ничего. В коммьюнити Python пришли к выводу, что разработчик языка хотел этим сказать, что никакие правила не являются абсолютными и везде есть исключения.

Посмотреть Дзен, или же философию Python, можно с помощью импорта модуля this
​​Форматирование строк

f-строки (сокращение от format string) – это новейший метод из поддерживаемых Python 3. Они похожи на метод .format(). Однако они предоставляют более ёмкий способ сделать то же самое, всего лишь добавив к строке букву f в качестве префикса.
​​Проверка типа объекта

Функция isinstance() вернет True, если проверяемый объект object является экземпляром указанного класса или его подкласса.

Если объект object не является экземпляром данного типа, то функция всегда возвращает False.
​​Генерируем 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