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
%%capture

Cкрывает выходные данные ячейки. Это полезно в разделе, где вы устанавливаете необходимые библиотеки: сводка процесса установки занимает много места и часто не является важной информацией, так что ее можно скрыть.

🔗 Python tricks
MySQL: ORDER BY

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

🔗 Python tricks
%%time

Измеряет время выполнения ячейки. Это незаменимая утилита при оценке качества рефакторинга. Допустим, вы узнали, что цикл for замедляет код и переписали некоторый участок на перечисление (enumeration). Используя %%time, вы сможете с легкостью оценить прирост в общей скорости исполнения кода.

🔗 Python tricks
%lsmagic

Чтобы не тратить драгоценный умственный ресурс, запомните всего одну директиву – вывести список всех команд. Запустив %lsmagic,  получаем вот такой интересный список.

Magic Commands – это часть IPython, интерактивной оболочки с дополнительными командами, подсветкой кода и автодополнением. Команды выполняют разнообразные вспомогательные операции. Те, что начинаются с одного символа “%”, применяются к одной строке, другие — ко всей ячейке. Давайте разберем самые полезные “колабисту” мэджики.

🔗 Python tricks
Чтение TOML-конфигов

Этот формат стал популярен относительно недавно и даже претендует на замену JSON ввиду повышенной “человекочитаемости”.

Наконец, разработчики ЯП зарелизили встроенную библиотеку для чтения таких файлов.

🔗 Python tricks
Обогащение деталей ошибки

Теперь разработчик вправе дополнить ошибку кастомной заметкой.

Фича становится восхитительно полезной, когда типов ошибок много.

🔗 Python tricks
Группы исключений

Теперь можно объединять ошибки некоторых видов в группу и обрабатывать их одинаково.

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

🔗 Python tricks
set.clear

Метод clear() удаляет все элементы из множества. В приведенном выше примере метод сlear() используется для удаления гласных. После очистки элемента мы получаем на выходе set, который представляет собой пустое множество.

🔗 Python tricks
list.append

Метод append() добавляет элемент в конец списка. Если тебе нужно добавить элементы списка (а не сам список) в другой список, используй метод extend().

🔗 Python tricks
Ускоренный импорт библиотек

Если запустить следующий скрипт в Python версий 2.x.x и 3.11.4, то вы заметите солидный прирост в скорости подключения инструментов. В забавной мини-программе ниже выводится скорость импорта библиотек _io, marshal и проч., да еще и ASCII-графика с питончиком.

🔗 Python tricks
Улучшенный синтаксис параллельных процессов

Раньше мы вручную отслеживали все свои задачи в списке, прежде чем передать их в collect().

Теперь используем контекстный менеджер.

🔗 Python tricks
Прокачанный трейсинг ошибок

Классической проблемой новичка становится отладка программы: по трейсбеку (описанию) определить, в чем дело, бывает весьма затруднительно.

Теперь для указания на конкретный объект, вызвавший ошибку, используется строка с несколькими ^ (символ называется “циркумфлекс”). В сниппете выше мы просим поделить на ноль, и конечно, это вызывает ошибку.

🔗 Python tricks
__enter__ и_enter__ и
Эти методы используются для создания контекстных менеджеров (то есть объектов, которые можно использовать в блоке with), и позволяют управлять ресурсами, которые нужно освободить после использования.

При входе и выходе из блока with будут выведены соответствующие сообщения.

🔗 Python tricks
string.index

Метод index() возвращает индекс подстроки внутри строки (если она найдена). При необходимости ты можешь указать, откуда начинается и где заканчивается поиск. Если подстрока не найдена, возвращается ValueError.

🔗 Python tricks
__getitem__ и_getitem__ и
Методы позволяют обращения к объекту по индексу или ключу, как если бы это был список или словарь.

🔗 Python tricks
__call__

Этот метод позволяет создать так называемые «вызываемые» объекты, то есть их можно вызывать как функции.

🔗 Python tricks
MySQL: LIMIT

Ты можешь ограничить количество записей, возвращаемых по запросу, с помощью оператора LIMIT. Если ты хочешь вернуть пять записей, начиная с третьей, используй ключевое слово «OFFSET».

🔗 Python tricks
string.isdigit

Метод isdigit() возвращает значение True, если все символы в строке являются цифрами. Если нет, он возвращает False. В Python верхний и нижний индексы (обычно написанные с использованием Юникода) также считаются цифровыми символами. Римские цифры, числители валют и дроби считаются числовыми символами, а не цифрами. Чтобы проверить, является ли символ числовым или нет, используй метод isnumeric().

🔗 Python tricks
__init__

Если у вас есть определенные классы в Python, вы обязательно встретитесь с методом init. Он отвечает за инициализацию экземпляра класса, поэтому именно в нем вы обычно устанавливаете его неотъемлемые атрибуты – например, длина ребра квадрата.

🔗 Python tricks
Встроенная (Built-in)

Самая широкая область. В ней есть все привычные «персонажи», которые загружаются в область переменных Python при запуске интерпретатора. К примеру, имя файла автоматически становится встроенной переменной, и к ней мы обращаемся с помощью двух подчеркиваний.

🔗 Python tricks