Властелин машин
@dt_analytic
Всё о передовых инструментах исследования и трюках продуктивности, чтобы стать крутым аналитиком и специалистом по машинному обучению на Python.
419 posts
python

Динамическая загрузка модулей в Python и как она спасает при работе с pyspark

"Приобретение знаний - это как путешествие в неизведанные земли: чем больше вы исследуете, тем больше открытий вы делаете".

Запуск инструкций командной строки из Python

Мостиком для взаимодействия Python и командной строки служит модуль subprocess. С его помощью можно выполнить команду и получить результат ее работы прямо из кода. Предпочтительным способом запуска является функция run.

Манипуляции с json данными

Рассмотрим функции для работы с форматом json. Они просты, однако названия могут вызывать путаницу. Для демонстрационных целей создадим словарь:

Сериализация кастомного класса

При работе с пользовательскими классами зачастую возникает необходимость их сериализации. При этом, если системе не сообщить, как она должна происходить, вы получите уведомление об ошибке (откуда Python знать, что вы хотите сохранять). Расскажу, как действовать в этом случае и создать свой быстрый способ сериализации. В качестве структуры данных для сериализации рассмотрим список пользовательских объектов namedtuple, задающих модели и колонки, к которым они применяются:

Пошаговый запуск Django проекта

Бог у всех один — провайдеры разные (Стас Янович Янковский). Web-программа на базе фреймворка Django состоит из сущности называемой проектом и входящих в него приложений. Последние являются независимыми частями программы, над которыми могут работать разные команды. Бонус от такой архитектуры - возможность переиспользования приложений в других проектах.

Как запускать тесты для нескольких модулей с unittest

Программы без ошибок можно написать двумя способами, но работает- третий (Алан Перлис). В больших проектах тесты разбиваются на несколько модулей. Для их одновременного запуска в библиотеке unittest существуют специальные инструменты:

Изменяемость объектов в Python: когда несет опасность и как от этого защититься 

В мире нет ничего более постоянного, чем непостоянство (С. Батлер). Объекты в Python делятся на неизменяемые (целые, дробные, строчные, кортежи) и изменяемые (например, списки, словари, множества), в зависимости от чего их поведение при модификации может иметь неожиданный характер.

Простой способ кэширования результатов работы с Python

Память — это медная доска, покрытая буквами, которые время незаметно сглаживает, если порой не возобновлять их резцом (Джон Локк). Рассмотрим простой способ кэширования результатов работы функций, чтобы не выполнять большие вычисления повторно или работать офлайн с однократно загруженными данными. Для примера рассмотрим ресурсоемкую функцию:

Дзен именованных кортежей в Python

Рассмотрим, способы и цели применения именованных кортежей в Python:

Как создавать абстрактные классы в Python и когда они пригодятся

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