Импорт
В версии Python 3.12 наконец стало возможным импортировать модули в адекватном для английского языка порядке слов!
🔗 Python tricks
В версии Python 3.12 наконец стало возможным импортировать модули в адекватном для английского языка порядке слов!
🔗 Python tricks
TypeVarTuple
Допустим, мы создаём функцию
TypeVarTuple представляет собой произвольный кортеж потенциально разных типов. Полезно, если функция имеет дело только с первым элементом кортежа, и нам «разрешит» любые оставшиеся типы.
🔗 Python tricks
Допустим, мы создаём функцию
convert_first_int()
, которая возвращает кортеж практически неизменным, только первый элемент приводит к целочисленному типу.TypeVarTuple представляет собой произвольный кортеж потенциально разных типов. Полезно, если функция имеет дело только с первым элементом кортежа, и нам «разрешит» любые оставшиеся типы.
🔗 Python tricks
Pretty Print словаря
Выводить многоуровневые словари с
Но встроенная утилита
🔗 Python tricks
Выводить многоуровневые словари с
print()
— боль: разрывы строк исчезнут, файл станет нечитаемым.Но встроенная утилита
pprint
, выдаст в командной строке «причёсанный» словарь.🔗 Python tricks
set.isdisjoint
Метод isdisjoint() возвращает значение True, если два множества не имеют между собой общих элементов. В противном случае возвращается False. Ты также можешь передавать итерации, такие как список, кортеж, словарь или строку. В этом случае isdisjoint() сначала преобразует итерации в множества. Затем происходит проверка, не являются ли они непересекающимися.
🔗 Python tricks
Метод isdisjoint() возвращает значение True, если два множества не имеют между собой общих элементов. В противном случае возвращается False. Ты также можешь передавать итерации, такие как список, кортеж, словарь или строку. В этом случае isdisjoint() сначала преобразует итерации в множества. Затем происходит проверка, не являются ли они непересекающимися.
🔗 Python tricks
Включение генераторов, сетов
Раньше был эффективный способ генерировать списки — «списковое включение» (List Comprehension).
Оказывается, этому поддаются и другие составные типы — генераторы и сеты.
🔗 Python tricks
Раньше был эффективный способ генерировать списки — «списковое включение» (List Comprehension).
Оказывается, этому поддаются и другие составные типы — генераторы и сеты.
🔗 Python tricks
Оператор match для проверки типа
Теперь освоение новых библиотек у вас точно ускорится.
Порой, трудно понять, какой тип данных возвращает функция или метод. В таких случаях помогают match и встроенные функции приведения к тому или иному типу данных.
🔗 Python tricks
Теперь освоение новых библиотек у вас точно ускорится.
Порой, трудно понять, какой тип данных возвращает функция или метод. В таких случаях помогают match и встроенные функции приведения к тому или иному типу данных.
🔗 Python tricks
MySQL: LEFT JOIN
LEFT JOIN возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если нет соответствующих строк в правой таблице, то будут возвращены NULL значения. В этом примере мы объединяем таблицы
🔗 Python tricks
LEFT JOIN возвращает все строки из левой таблицы и соответствующие строки из правой таблицы. Если нет соответствующих строк в правой таблице, то будут возвращены NULL значения. В этом примере мы объединяем таблицы
customers
и orders
по столбцу id
из customers
и customer id
из orders
, используя LEFT JOIN.🔗 Python tricks
try / except + else + finally
Мастхэв для начинающих питонистов — пара
Более того, добавив
🔗 Python tricks
Мастхэв для начинающих питонистов — пара
try / except
, обработчик исключений. Шикарным дополнением к такому блоку является, на мой взгляд, else: он опишет поведение программы на случай других ошибок, которых может быть немало!Более того, добавив
finally
, вы выполните завершающие работы, например, скомандуете выслать уведомление🔗 Python tricks
Автоматическое добавление ключа словарю
Если создать словарь средствами
🔗 Python tricks
Если создать словарь средствами
collections.defaultdict
, добавить хотя бы один элемент, а затем обратиться к несуществующему ключу.🔗 Python tricks
Проверка существования переменной с помощью «моржового» оператора
Если мы объявили две переменные, но не задали любой из них значение, то с помощью оператора
Во втором случае заполнена только одна из переменных, но программа отработает без ошибки.
🔗 Python tricks
Если мы объявили две переменные, но не задали любой из них значение, то с помощью оператора
:=
(Walrus Operator) можно спасти программу от падения и добавить обрабатывающую логику. В первом случае, в переменные name1, name2 мы ничего не записали, значит, программа зайдет в блок else.Во втором случае заполнена только одна из переменных, но программа отработает без ошибки.
🔗 Python tricks
Проверка наличия элемента в множестве
Мы можем проверить, находится ли тот или иной элемент в списке с помощью оператора in.
То же применимо и для множеств (set).
🔗 Python tricks
Мы можем проверить, находится ли тот или иной элемент в списке с помощью оператора in.
То же применимо и для множеств (set).
🔗 Python tricks
Перегонка кортежа в словарь
Допустим, у нас есть кортеж, где каждое значение – строка из двух символов.
Если «навесить» функцию
🔗 Python tricks
Допустим, у нас есть кортеж, где каждое значение – строка из двух символов.
Если «навесить» функцию
dict()
, то в результате мы получим словарь с разделенными на ключ – значение парами.🔗 Python tricks
chr
chr() используется для преобразования целого числа (Unicode кода символа) в соответствующий символ. Например, chr(65) вернет символ 'A', так как код символа 'A' равен 65. Выдается ошибка ValueError, если целое число выходит за пределы диапазона. TypeError — для нецелого аргумента.
🔗 Python tricks
chr() используется для преобразования целого числа (Unicode кода символа) в соответствующий символ. Например, chr(65) вернет символ 'A', так как код символа 'A' равен 65. Выдается ошибка ValueError, если целое число выходит за пределы диапазона. TypeError — для нецелого аргумента.
🔗 Python tricks
Поиск отличий в списках
Допустим, у нас есть две длинные строки, и мы хотим найти отличия.
Можно использовать комбинацию
🔗 Python tricks
Допустим, у нас есть две длинные строки, и мы хотим найти отличия.
seq1
и seq2
в сниппете ниже – это последовательности генов.Можно использовать комбинацию
zip()
и enumerate()
. Первая сопоставит символы с одинаковыми индексами, а вторая – присвоит каждой паре символов порядковый номер (всего 24). Чтобы найти отличающиеся символы, достаточно сравнить символы попарно в цикле for.
🔗 Python tricks
Подсчёт числа элементов в списке
Помимо способности
В случае со списком слов модуль автоматически рассчитывает, как часто встречается то или иное слово.
🔗 Python tricks
Помимо способности
collections.Counter()
понимать, что именно в строке нужно подсчитать.В случае со списком слов модуль автоматически рассчитывает, как часто встречается то или иное слово.
🔗 Python tricks
Фильтрация списка без цикла
Здесь неожиданно выделился модуль itertools. Если у нас есть два списка с именами и идентификаторами.
То вы можете выбрать из списка leaders только те, где значения selector равны единице.
🔗 Python tricks
Здесь неожиданно выделился модуль itertools. Если у нас есть два списка с именами и идентификаторами.
То вы можете выбрать из списка leaders только те, где значения selector равны единице.
🔗 Python tricks
Splat-оператор
Splat (одна звездочка) расширяет коллекцию до позиционных аргументов, а splatty-splat (две звездочки) — словарь до именованных аргументов.
🔗 Python tricks
Splat (одна звездочка) расширяет коллекцию до позиционных аргументов, а splatty-splat (две звездочки) — словарь до именованных аргументов.
🔗 Python tricks
Резервирование символов
С помощью операторов
Как видно в сниппете,
🔗 Python tricks
С помощью операторов
> / < / ^
вы можете добавлять выходному значению символы, к примеру, облегчающие поиск среди других выходных значений.Как видно в сниппете,
<
добавит символы после, >
– до, а ^ – окружит с двух сторон.🔗 Python tricks
eval
Функция eval() используется для выполнения выражения, переданного в виде строки. Она принимает строку в качестве аргумента и выполняет её как код Python. Например, если у тебя есть строка "2 + 3", то eval("2 + 3") вернет результат сложения, то есть 5.
🔗 Python tricks
Функция eval() используется для выполнения выражения, переданного в виде строки. Она принимает строку в качестве аргумента и выполняет её как код Python. Например, если у тебя есть строка "2 + 3", то eval("2 + 3") вернет результат сложения, то есть 5.
🔗 Python tricks
Выборка простых чисел в списке любого размера
Выбирать простые числа приходилось мне на практике разве что во время учёбы, так что найти этому коду реальное применение непросто. Однако его легко переиначить для поиска любых других типов чисел – чётных / нечётных / делимых на определенное число.
🔗 Python tricks
Выбирать простые числа приходилось мне на практике разве что во время учёбы, так что найти этому коду реальное применение непросто. Однако его легко переиначить для поиска любых других типов чисел – чётных / нечётных / делимых на определенное число.
🔗 Python tricks