Что выведет этот код?
Anonymous Quiz
19%
[2, 4, 8, 16, 32, 64]
26%
[4, 8]
10%
[4.0, 8.0]
18%
[4, 8, 16]
27%
Ошибку
⚡️ Перечисления в Python
Перечисления — это набор значений, позволяющих упростить понимание кода.
Они могут вмещать внутри себя небольшой функционал.
В этом нам поможет модуль enum. Он хранит в себе базовый клас Enum, с которым мы и будем работать.
Также существует класс IntEnum, который будет преобразовать все значения в числа.
Есть и декоратор — unique. Он позволяет задавать только уникальные значения.
Также, можно не задавать значения, а использовать метод auto, который сам изменит их. Он использует метод _generate_next_value_ класса.
Поскольку это самый обычный класс, вы так же можете добавлять собственные методы в перечислении.
#теория #enum
Перечисления — это набор значений, позволяющих упростить понимание кода.
Они могут вмещать внутри себя небольшой функционал.
В этом нам поможет модуль enum. Он хранит в себе базовый клас Enum, с которым мы и будем работать.
Также существует класс IntEnum, который будет преобразовать все значения в числа.
Есть и декоратор — unique. Он позволяет задавать только уникальные значения.
Также, можно не задавать значения, а использовать метод auto, который сам изменит их. Он использует метод _generate_next_value_ класса.
Поскольку это самый обычный класс, вы так же можете добавлять собственные методы в перечислении.
#теория #enum
Что выведет этот код?
Anonymous Quiz
46%
o-l-l-e-H
14%
Hello
11%
d-l-r-o-W
17%
SyntaxError
12%
W-o-r-l-d
⚡️ Проверка текста на орфографические ошибки
spellchecker — модуль с открытым исходным кодом для анализа текста. Работает он по тому же принципу, что и fuzzywuzzy — Расстояние Левенштейна.
Установка:
Основное отличие от fuzzywuzzy — цель использования. fuzzywuzzy имеет относительно небольшой функционал, который отлично подойдёт, например, для голосовых ботов.
spellchecker же имеет больше функций и может самостоятельно исправлять текст, как на примере выше.
spellchecker — модуль с открытым исходным кодом для анализа текста. Работает он по тому же принципу, что и fuzzywuzzy — Расстояние Левенштейна.
Установка:
pip install pyspellchecker
На данный момент библиотека поддерживает шесть языков: английский, польский, французский, португальский, немецкий и русский.Основное отличие от fuzzywuzzy — цель использования. fuzzywuzzy имеет относительно небольшой функционал, который отлично подойдёт, например, для голосовых ботов.
spellchecker же имеет больше функций и может самостоятельно исправлять текст, как на примере выше.
Что выведет код выше?
Anonymous Quiz
34%
True True True
39%
True True False
18%
True False False
9%
True False True
⚡️ Замеряем время выполнения команд
В этом нам поможет поможет модуль timeit. Он уже есть в Python и его установка не требуется.
Одноименный метод timeit(comm, setup, number) — измеряет время выполняемой команды.
Метод number — это количество повторений;
А repeat() — это выполнение одной и той же команды несколько раз, возвращая массив с результатми.
Имеет те же самые параметры, что и timeit(), за исключением repeat — длины списка.
В этом нам поможет поможет модуль timeit. Он уже есть в Python и его установка не требуется.
Одноименный метод timeit(comm, setup, number) — измеряет время выполняемой команды.
Метод number — это количество повторений;
А repeat() — это выполнение одной и той же команды несколько раз, возвращая массив с результатми.
Имеет те же самые параметры, что и timeit(), за исключением repeat — длины списка.
⚡️ База данных символов юникод
Модуль unicodedata позволяет узнать имя символа, его представление в системе unicode, категорию и т.д.
В этом посте представлена лишь небольшая часть команд, больше — в документации.
name и lookup — первая команда принимает символ и возвращает его имя. Вторая же делает всё наоборот.
normalize(format, unistr) — в юникоде несколько символов могут быть выражены по-разному, поэтому normalize переводит символы внутри строки в общепринятую форму.
decimal (chr, default) — переводит chr в значение типа int. Если передан символ, то возвращает default. В случае, если default не задан, вернётся ошибка ValueError.
#миниурок #unicodedata
Модуль unicodedata позволяет узнать имя символа, его представление в системе unicode, категорию и т.д.
В этом посте представлена лишь небольшая часть команд, больше — в документации.
name и lookup — первая команда принимает символ и возвращает его имя. Вторая же делает всё наоборот.
normalize(format, unistr) — в юникоде несколько символов могут быть выражены по-разному, поэтому normalize переводит символы внутри строки в общепринятую форму.
decimal (chr, default) — переводит chr в значение типа int. Если передан символ, то возвращает default. В случае, если default не задан, вернётся ошибка ValueError.
#миниурок #unicodedata
⚡️ Бесконечные итераторы
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
Все возможности модуля можно просмотреть в документации.
• count (start, step) — возвращает числа начиная с start и каждый раз добавляет step. Напоминает range, но без ограничений.
• cycle (elem) — циклично возвращает все элементы внутри elem.
• repeat (elem, count) — count раз возвращает elem.
#миниурок #itertools
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
Все возможности модуля можно просмотреть в документации.
• count (start, step) — возвращает числа начиная с start и каждый раз добавляет step. Напоминает range, но без ограничений.
• cycle (elem) — циклично возвращает все элементы внутри elem.
• repeat (elem, count) — count раз возвращает elem.
#миниурок #itertools
⚡️ Полезные команды из модуля itertools
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
chain(args) — Возвращает все элементы из первого итерируемого объекта до конца args.
zip_longest(arr1, arr2, fillvalue) — делает то же самое, что и zip (arr1, arr2), но если у arr1 и arr2 разная длина возвращает fillvalue.
compress(arr1, arr2) — "Сохраняет" элемент из arr1, если элемент из arr2 с этим же индексом является True
filterfalse(func, iter) — Работает так же как и filter, но сохраняет значения, только если результат функции false
Модуль itertools — это набор функций для эффективной работы с циклами. Сегодня мы рассмотрим бесконечные итераторы.
chain(args) — Возвращает все элементы из первого итерируемого объекта до конца args.
zip_longest(arr1, arr2, fillvalue) — делает то же самое, что и zip (arr1, arr2), но если у arr1 и arr2 разная длина возвращает fillvalue.
compress(arr1, arr2) — "Сохраняет" элемент из arr1, если элемент из arr2 с этим же индексом является True
filterfalse(func, iter) — Работает так же как и filter, но сохраняет значения, только если результат функции false