6 ms·
You may be interested in the type matching provided by Pydantic. It is a handy way to avoid writing `match-case` expressions. ``` >>> from pydantic import Base
by okso 2y ago
You may be interested in the type matching provided by Pydantic. It is a handy way to avoid writing `match-case` expressions.
```
>>> from pydantic import BaseModel
>>> from typing import Literal, List
>>> class Chicken(BaseModel):
... n_legs: Literal[2]
>>> class Cat(BaseModel):
... n_legs: Literal[4]
>>> class Farm(BaseModel):
... animals: List[Chicken | Cat]
>>> Farm.model_validate(dict(animals=[{'n_legs': 2}, {'n_legs': 4}]))
Farm(animals=[Chicken(n_legs=2), Cat(n_legs=4)])
```