- Декораторы (обёртки) функций в Python
- Yield в Python
- Ключевое слово yield в Python
- Конструктор класса в Python __init__ и __new__: описание и примеры
- Настройка классов Python магическими методами
- Свойства property. Декоратор @property
- Работа с SQLite в Python (для чайников) [Habr]
- Менеджер контекста это просто [Habr]
- Как устроен with
- Как работать с процессами и потоками в Python
- Python в три ручья: работаем с потоками (часть 1)
- #11. Дескрипторы (data descriptor и non-data descriptor) | ООП Python
@dataclass
Passing default list argument to dataclassesfrom dataclasses import dataclass, field from typing import List
@dataclass class Pizza(): ingredients: List = field(default_factory=['dow', 'tomatoes']) # <- wrong!
Use a lambda function instead:
@dataclass class Pizza(): ingredients: List = field(default_factory=lambda: ['dow', 'tomatoes'])
pydantic dataclass
from pydantic.dataclasses import dataclass @dataclass class User: id: int name: str user = User(id=123, name="James") d = asdict(user) # {'id': 123, 'name': 'James'} user_json = json.dumps(d) print(user_json) # '{"id": 123, "name": "James"}' json_raw = '{"id": 123, "name": "James"}' user_dict = json.loads(json_raw) user = User(**user_dict)