Python tricks | Хитрости Питона
5.81K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
Проверка существования переменной с помощью «моржового» оператора

Если мы объявили две переменные, но не задали любой из них значение, то с помощью оператора := (Walrus Operator) можно спасти программу от падения и добавить обрабатывающую логику. В первом случае, в переменные name1, name2 мы ничего не записали, значит, программа зайдет в блок else.

Во втором случае заполнена только одна из переменных, но программа отработает без ошибки.

🔗 Python tricks
Проверка наличия элемента в множестве

Мы можем проверить, находится ли тот или иной элемент в списке с помощью оператора in.

То же применимо и для множеств (set).

🔗 Python tricks
Перегонка кортежа в словарь

Допустим, у нас есть кортеж, где каждое значение – строка из двух символов.

Если «навесить» функцию dict(), то в результате мы получим словарь с разделенными на ключ – значение парами.

🔗 Python tricks
chr

chr() используется для преобразования целого числа (Unicode кода символа) в соответствующий символ. Например, chr(65) вернет символ 'A', так как код символа 'A' равен 65. Выдается ошибка ValueError, если целое число выходит за пределы диапазона. TypeError — для нецелого аргумента.

🔗 Python tricks
Поиск отличий в списках

Допустим, у нас есть две длинные строки, и мы хотим найти отличия. seq1 и seq2 в сниппете ниже – это последовательности генов.

Можно использовать комбинацию zip() и enumerate(). Первая сопоставит символы с одинаковыми индексами, а вторая – присвоит каждой паре символов порядковый номер (всего 24). Чтобы найти отличающиеся символы, достаточно сравнить символы попарно в цикле for.

🔗 Python tricks
Подсчёт числа элементов в списке

Помимо способности collections.Counter() понимать, что именно в строке нужно подсчитать.

В случае со списком слов модуль автоматически рассчитывает, как часто встречается то или иное слово.

🔗 Python tricks
Фильтрация списка без цикла

Здесь неожиданно выделился модуль itertools. Если у нас есть два списка с именами и идентификаторами.

То вы можете выбрать из списка leaders только те, где значения selector равны единице.

🔗 Python tricks
Splat-оператор

Splat (одна звездочка) расширяет коллекцию до позиционных аргументов, а splatty-splat (две звездочки) — словарь до именованных аргументов.

🔗 Python tricks
Резервирование символов

С помощью операторов > / < / ^ вы можете добавлять выходному значению символы, к примеру, облегчающие поиск среди других выходных значений.

Как видно в сниппете, < добавит символы после, > – до, а ^ – окружит с двух сторон.

🔗 Python tricks
eval

Функция eval() используется для выполнения выражения, переданного в виде строки. Она принимает строку в качестве аргумента и выполняет её как код Python. Например, если у тебя есть строка "2 + 3", то eval("2 + 3") вернет результат сложения, то есть 5.

🔗 Python tricks
Выборка простых чисел в списке любого размера

Выбирать простые числа приходилось мне на практике разве что во время учёбы, так что найти этому коду реальное применение непросто. Однако его легко переиначить для поиска любых других типов чисел – чётных / нечётных / делимых на определенное число.

🔗 Python tricks
Словарное включение (ч.1)

Многим из нас знакомо списковое включение (List Comprehension), которое позволяет за одну строку кода сгенерировать список.

🔗 Python tricks
MySQL: ORDER BY DESC

Ключевое слово ORDER BY по умолчанию сортирует результат по возрастанию. Чтобы отсортировать результат в порядке убывания, используйте ключевое слово DESC.

🔗 Python tricks
set.remove

Метод remove() удаляет указанный элемент из множества и обновляет множество. Он не возвращает никакого значения. Если элемент, переданный в remove(), не существует, генерируется исключение KeyError.

🔗 Python tricks
⚡️Хакатон ГАГАРИН.ХАК!

Крупный онлайн-марафон, который соберет участников со всей России. Событие пройдет в преддверии дня космонавтики и представит уникальную возможность для разработчиков продемонстрировать свои навыки и презентовать уникальные решения.

🚀Тебя ждет уникальный кейс:
- Алгоритм обнаружения аномалий в видеопотоке для реализации алгоритма сервисной аналитики.

📌Цель:
- Разработать алгоритм, который будет анализировать видеопоток на наличие аномалий или движений. Алгоритм не должен включать транскодирование видео и может быть реализован на любом языке программирования.

🏆Общий призовой фонд - 1 250 000 рублей!

🗓️Дата проведения: 12 - 14 Апреля
📍Формат: Онлайн

Подробная информация и регистрация: https://tglink.io/e5f8ef5f2926
Словарное включение (ч.2)

Оказывается, Python поддерживает аналогичный функционал для словарей! Код генерирует словарь, где у каждого имени определяется длина в символах.

🔗 Python tricks
Выборка простых чисел в списке любого размера

Выбирать простые числа приходилось мне на практике разве что во время учёбы, так что найти этому коду реальное применение непросто. Однако его легко переиначить для поиска любых других типов чисел – чётных / нечётных / делимых на определенное число.

🔗 Python tricks
Частичное совпадение пользовательского ввода

Эта замечательная фича позволяет справляться с ситуациями, когда пользователь вводит не все, что от него ожидается. Фишка работает в версиях Python не ниже 3.10.

🔗 Python tricks
Форматирование многострочного вывода

Если вы хотите, чтобы вывод напоминал табличку с одинаковым отступом, то при использовании F-строк добавьте интерполируемой переменной двоеточие и число, одинаковое для всех print(), например, 10. Это «резервирует» пространство из 10 символов

🔗 Python tricks
Файлы (ч.1)

Если речь идет о временном файле, который вы изучите сразу после исполнения и удалите, достаточно назвать его как объект.

Гуглите и используйте аббревиатуры. К примеру, датафрейм о пациентах, прошедший Предварительную обработку данных (Exploratory Data Analysis) и выгруженный в файл, можно назвать ‘patients_eda.csv’.

🔗 Python tricks