TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #397 · 12 ное.

Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs

Резултати

Пронајдени 1 слични објави

Пребарај: #abtest

当前筛选 #abtest清除筛选
Data Science Jobs

@datasciencejobs · Post #1908 · 13.02.2024 г., 06:02

#вакансия#DataAnalyst#Python#SQL#Clickhouse#ABtest#удаленка#fulltime 🔹Анабар – система аналитики и управления продажами для продавцов на маркетплейсах. Продукт запустили Петр Марков (ex-Яндекс, ex-Циан) и Павел Тарасов (ex-Альфа-Банк, ex-Циан) в июле 2020. У нас есть довольные клиенты, выручка и мы удваиваемся по всем ключевым бизнес-метрикам каждый квартал. Сейчас мы ищем Data аналитика в нашу команду. 📌 Стек: Python, SQL, Superset, Clickhouse, Trino, plotly dash. 📌 Какие будут задачи: - Аналитика бизнес-проблем поставщиков маркетплейсов и придумывание решения с использованием данных - Анализ данных (как данные маркетплейсов, так и поведение пользователей у нас на сайте) - Помощь разработчикам в создании (или даже самостоятельная разработка) дашбордов для пользователей - Работа с большими и шумными данными - Построение дашбордов в superset и дописывание etl-задачи на Presto/Athena 📌 Что нужно знать: - SQL - отличное знание - Методы проведения A/B экспериментов - Python - базовый уровень ❗️Обязательный пункт: Первое высшее математическое образование (специалитет/бакалавриат) 📌 Будет плюсом: - Хорошее знание Python и опыт работы с Git - Базовые навыки в машинном обучении 📌 Что предлагаем мы: - 31 день отпуска: у нас официальный ненормированный рабочий день и, если случаются овертаймы, мы их записываем и отгуливаем. Важно помнить, что овертаймы - не систематическая и регулярная история - Работа удаленная (можно работать из любой точки мира и оформиться к нам удобным способом, кстати, заработная плата полностью белая) - Уровень дохода от 300 000 на руки - Гибкий график (важно быть на связи по московскому часовому поясу) - Настоящие возможности роста и развития - Участие в создании большой истории про любовь продавцов к цифрам и анализу данных 💫 Ждем ваше резюме! Контакты: Светлана ТГ: @yuz59 WA: +7 9194822190 email: [email protected] Не забудьте уточнить, что вы из @datasciencejobs