Хитрые приёмы на Python
В этой статье собраны удобные приёмы, которые вполне могут упростить написание кода на Python. Всем начинающим рекомендуется к прочтению.
40К открытий40К показов
В этой статье собраны удобные приёмы, которые вполне могут упростить жизнь всем Python-программистам. Итак, не будем терять времени.
Перечисление
Вместо этого:
Можно сделать так:
В enumerate
можно передавать и второй аргумент. Вот пример:
Абстракция словарей/множеств
С абстракциями списков (list comprehension) вы скорее всего сталкивались, но вот с абстракциями словарей/множеств (dict/set comprehension) — вряд ли. Они просты в использовании и так же эффективны. Вот пример:
Деление с плавающей запятой
При делении целых чисел в Python результат будет целым, даже если на самом деле он был дробным. Чтобы получить корректный ответ, приходится делать что-то подобное:
Но у этой проблемы есть и другое решение:
Вуаля! И не нужно дописывать .0
. Стоит отметить, что этот приём относится только к Python 2 — в третьей версии языка всё работает как нужно по умолчанию.
Простой сервер
Если нужно быстро и легко расшарить файлы из директории, то вот простой способ:
Эта команда запустит сервер.
Вычисление выражений Python
Вы наверняка знакомы с eval
, но знаете ли вы о literal_eval
? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так:
А не так:
Между прочим, эта фича находится в языке уже давно.
Профилирование скрипта
Вы можете с лёгкостью профилировать скрипт, запустив его следующей командой:
Интроспекция объектов
Вы можете изучать объекты Python при помощи команды dir()
. Простой пример:
Отладочные скрипты
Вы можете задавать точки останова (breakpoint) при помощи модуля pdb
:
Чтобы задать точку останова в любом месте скрипта, напишите там команду pdb.set_trace()
. В pdb
есть ещё несколько интересных штучек, описанных в документации.
Упрощение конструкций с if
Если вам нужно проверить несколько значений, сделайте так:
А не так:
Разворачивание списка/строки
Быстро развернуть список можно следующим образом:
То же самое можно сделать и со строкой:
Красивый вывод
Вы можете красиво выводить на экран словари и списки вот так:
Нагляднее это, конечно, при работе со словарями. Кроме того, так же можно выводить информацию из JSON-файлов:
Тернарный оператор
Тернарный оператор — это сокращённая форма записи условного выражения if-else. Вот пример использования:
Если вы знаете другие полезные приёмы, делитесь ими в комментариях!
40К открытий40К показов