開発ツール

!!! note入場:私 (Pydantic の主な開発者) は python-devtools も開発しています。

python-devtools ( pip install devtools ) は、 print()の代替となるdebug()など、Python 開発中に役立つツールを多数提供します。これは、出力をprintよりも読みやすい形式にフォーマットし、次の情報を提供します。 print ステートメントがどのファイル/行にあり、どのような値が出力されたか。

Pydantic は、ほとんどのパブリック クラスに__pretty__メソッドを実装することで_devtools_と統合します。

特にdebug()モデルを検査するときに役立ちます。

from datetime import datetime
from typing import List

from devtools import debug

from pydantic import BaseModel


class Address(BaseModel):
    street: str
    country: str
    lat: float
    lng: float


class User(BaseModel):
    id: int
    name: str
    signup_ts: datetime
    friends: List[int]
    address: Address


user = User(
    id='123',
    name='John Doe',
    signup_ts='2019-06-01 12:22',
    friends=[1234, 4567, 7890],
    address=dict(street='Testing', country='uk', lat=51.5, lng=0),
)
debug(user)
print('\nshould be much easier read than:\n')
print('user:', user)

ターミナルに出力されます:

!!! python-devtoolsまだ Python 3.13 をサポートしていないことに注意してください。


本文总阅读量