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
Модуль email-validate

Модуль email-validate позволяет проверять, является ли EMAIL-адрес (адрес электронной почты) действительным, правильно отформатированным, действительно ли существует, а так же не занесен в черный список.
#1
Форматирование даты и времени

С помощью f-строк можно форматировать дату и время так, как если бы для этого использовался бы метод datetime.strftime. Это особенно приятно, когда понимаешь, что тут имеется больше возможностей форматирования значений, чем те немногие, которые упомянуты в документации. Так, Python-метод strftime поддерживает, кроме прочего, все способы форматирования значений, поддерживаемые его базовой реализацией на C.
Что выведет код?
Anonymous Quiz
10%
True
6%
False
55%
4
1%
2
28%
Error
#2
Имена переменных и отладка

Функционал f-строк сравнительно недавно (начиная с Python 3.8) дополнен возможностями по выводу имён переменных вместе с их значениями.

Эта возможность называется «отладкой» («debugging»), её можно применять вместе с другими модификаторами. Она, кроме того, сохраняет пробелы, поэтому при обработке конструкций вида f»{x = }» и f»{x=}» получатся разные строки.
Какой словарь задан верно?
Anonymous Quiz
44%
dict1
19%
dict2
10%
dict3
26%
Никакой
#3
Методы __repr__ и __str__

Для формирования строковых представлений экземпляров классов по умолчанию используется метод str. Но если вместо этого метода нужно применить метод repr — можно воспользоваться флагом преобразования !r.

На примере внутри f-строки, можно было бы просто вызвать repr(some_var), но использование флага преобразования — это образец приятного стандартного и краткого решения подобной задачи.
#4
Отличная производительность f-строк

За некие мощные возможности чего-либо и за «синтаксический сахар» часто приходится платить производительностью. Но в случае с f-строками это не так.

Вышеприведённый код протестирован с помощью модуля timeit (python -m timeit -s 'x, y = «Hello», «World»' 'f»{x} {y}»'). Как видите, f-строки оказались самым быстрым из всех механизмов форматирования данных, которые даёт нам Python. Поэтому, даже если вы предпочитаете пользоваться другими средствами форматирования строк, рассмотреть возможность перехода на f-строки стоит хотя бы ради повышения производительности.
Что выведет код?
Anonymous Quiz
6%
6, 9
16%
6,9
11%
69,0
29%
69.0
38%
Error
#5
Вся сила мини-языка спецификаций форматирования

F-строки поддерживают мини-язык спецификаций форматирования Python. Поэтому в модификаторы, используемые в f-строках, можно внедрить множество операций форматирования данных.

Мини-язык форматирования Python включает в себя гораздо больше, чем конструкции, рассчитанные на форматирование чисел и дат. Этот язык, кроме прочего, позволяет выравнивать или центрировать текст, добавлять к строкам начальные нули или пробелы, задавать разделители групп разрядов. Всем этим, конечно, можно пользоваться не только в f-строках, но и при применении других способов форматирования данных.
Что выведет код?
Anonymous Quiz
26%
0
43%
1
16%
None
14%
Error