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
Функция statistics.fmean()

Функция statistics.mean() модуля statistics рассчитывает и возвращает примерное среднее арифметическое элементов последовательности data.

Функция statistics.fmean() сначала преобразует элементы последовательности data в вещественные числа, рассчитывает и возвращает примерное среднее арифметическое.

Функция statistics.fmean() работает быстрее, чем функция statistics.mean() и всегда возвращает float.

Данные data могут быть последовательностью или итерацией. Если аргумент data пустой, то будет вызвана ошибка StatisticsError.

Среднее арифметическое определяется как число, равное сумме всех чисел последовательности, делённой на их количество. Его обычно называют “средним”, хотя это всего лишь одно из многих разновидностей математических средних значений. Является одной из наиболее распространённых мер центральной тенденции.
Функция stdev()

Функция stdev() модуля statistics возвращает стандартное выборочное отклонение данных data, которые представляют выборку элементов из всей числовой последовательности (квадратный корень из выборочной дисперсии данных).

⚫️Аргумент data может быть последовательностью или итерацией.

⚫️Если входные данные data пусты, то возникает ошибка StatisticsError.

Если указан необязательный второй аргумент xbar, то это должно быть среднее значение данных data. Если аргумент xbar отсутствует или None (по умолчанию), то среднее арифметическое значение рассчитывается автоматически.
Модуль 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-строках, но и при применении других способов форматирования данных.