はじめに
- この記事では、pydantic を使ったデータ検証について解説します。Pydantic は Rust で構築された Python ライブラリです。
- はじめる前に、お使いの環境に Python と Pydantic ライブラリがインストールされていることを確認してください。以下の pydantic のインストールコマンドを確認してください。
モデルの作成
- まず、検証を始めるために、
pydantic.BaseModelをインポートしてクラスに継承させる必要があります。この例ではPersonという名前のクラスを作成し、name、age、e-mail を持たせます。
- このクラスをインスタンス化すると、pydantic はパラメーター
nameとemailが文字列であること、ageが整数であることを検証します。
モデルの使用
- 作成できたので、クラスをインスタンス化します。データを含む辞書を作成し、それをクラスに展開して渡します。
- 上記の例では、すべての パラメーター が正しい型になっているため、エラーは発生しません。次に、検証が機能するかどうかを確認するために、誤ったデータを作成します。
- 上記の例では、
ageは 整数 である必要があり 文字列 として指定できないため、ValidationErrorエラーが発生します。
dataclass の作成
- pydantic を使って dataclass を作成することもできます。これは標準の Python の dataclass に似ていますが、BaseModel のような検証を備えています。
ageにstringを渡すと、intに変換されます。
Pydantic は再帰的な検証をサポートしています。つまり、ネストされたモデルを検証する際には、内部のモデルも検証します。あるクラスが
Person のリスト people: list[Person] を持つ場合、リスト内の各項目をチェックし、それぞれを Person に変換します。その他
- Pydantic には、e-mail の検証やフォールバック用の timezone パッケージなどの追加機能があります。これらをインストールするには、次のコマンドを実行する必要があります。
- 次のコマンドを実行すると、両方を一度にインストールできます。
- Pydantic[email] は、メールを処理するためのクラスを提供し、正規化して
user@domain.tldの形式を検証します。このために、pydantic はこの検証を行うEmailStrクラスを提供しています。
この記事は役に立ちましたか?
- 私たちは可能な限り最良のサポートを提供するため、細心の注意を払ってこのコンテンツを作成しました。 この記事が少しでもお役に立ったなら、ぜひ私たちの活動を応援してください。レビューを残していただけると、あなたにとって何が最も重要かを理解する助けになります。
Google レビュー
Google レビューにあなたのレビューを残してください。
Trustpilot
Trustpilot にあなたのレビューを残してください。

