Pydantic データクラスを使用してデータ処理を強化する方法

Pydantic Detakurasuwo Shi Yongshitedeta Chu Liwo Qiang Huasuru Fang Fa



Pydantic データクラスは、Python でのデータ処理を改良するための高度なソリューションを提供します。データ検証フレームワークとして機能すると、構造化データをデータクラスと統合することで、構造化データの作成プロセスが簡素化されます。データの検証、エラー報告、データ型変換を自動化します。これにより、データが指定された要件に確実に適合するようになります。また、デフォルト値、オプションのフィールド、複雑なデータ構造もサポートしています。つまり、Pydantic データクラスは、プログラマがデータ処理方法を最適化し、効果的で信頼性の高いコーディング結果をもたらすのに役立ちます。

構文:

Python の Pydantic データクラスを使用してデータの管理方法を強化するシンプルかつ効果的な方法は、クラス デコレータを利用することです。これを利用して、基本的にデータがどのように見えるかについてのモデルを作成します。データに明確な構造を与えるようなものです。したがって、データ クラスを定義する構文は次のようになります。







クラス モデル名 ( ベースモデル )

「model_name」は作成するモデルの名前を示し、Pydantic の「BaseModel」は、データが設定したルールに従い、入力パラメーターとしてモデルに渡されることを保証する保護者のように機能します。クラス内で、各データがどのような情報を保持するかを定義します。このプロセスにより、データクラスのインスタンスを作成するときに、提供した情報が定義したものと一致することが確認されます。



方法 1: Pydantic のデータクラスを使用した拡張データ処理

コレクション内の書籍に関する情報を整理するための単純なアプリケーションを開発していると想像してください。この目的で収集するデータが正確で、一貫性があり、適切に構造化されていることを確認したいと考えています。ここで、Pydantic データクラスが介入してプロセスを簡素化し、改善します。



この例を始めるには、Pydantic データクラスを定義する必要があります。そこで、本の詳細を表す「Books」という名前の Pydantic データクラスを定義することから始めます。 Pydantic のデータクラスを定義するには、すべての Pydantic パッケージがプロジェクトに事前にインストールされていることを確認する必要があります。





から 卑劣な 輸入 ベースモデル

クラス デコレータを使用して、Pydantic の BaseModel を継承する「Book」クラスを作成します。クラス内では、title、author、release_year などの属性を指定し、それぞれがそれぞれのデータ型に関連付けられます。

クラス ( ベースモデル ) :

タイトル: str

著者: str

リリース年: 整数

クラス モデルを作成した後、Pydantic データクラスを利用し、「Book」データクラスの機能を利用して「movie」データを処理します。



このセクションでは、書籍に関する詳細を入力するユーザーを模倣します。 「book」データクラスのモデルには、タイトル、著者、発売年などの属性があり、それぞれに特有のデータ型が付いています。したがって、この部分、つまり「入力」では、それらの値を指定します。

入力 = {

'タイトル' : '苦しむ'

'著者' : 'アダム'

「リリース年」 : 2023年

}

入力で書籍モデルの属性に関する詳細を指定した後、これらの詳細を使用して、提供されたデータを持つ「Book」インスタンスを作成します。これは、Pydantic が定義されたデータ構造に対して入力を自動的に検証することを保証するために行われます。非整数のリリース年やタイトルの欠落など、矛盾や間違いがある場合、Pydantic はすぐにユーザーフレンドリーな説明とともにエラーを生成します。

試す :

= ( ** 入力 )

印刷する ( 「本の詳細:」 本。 タイトル 本。 著者 本。 リリース年 )

を除外する 例外 として それは次のとおりです。

印刷する ( 'エラー:' それは )

Pydantic データクラスを使用した経験豊富な強化されたデータ処理のために、データの検証と一貫性のための組み込みメカニズムを受け取ります。オプションのフィールド、デフォルト値、複雑な入れ子構造を組み込んで、さまざまなデータ シナリオに対応できます。これにより、データが整理され、正しい形式で維持されることが保証されます。

このステップでは、Pydantic データクラスがオプションのフィールド、デフォルト値、ネストされた構造などの機能を通じて強化されたデータ処理機能をどのように提供するかを検討します。

以下は、オプションのフィールドとデフォルト値を追加する方法を示す例です。

ジャンルや実行時間など、書籍に関する追加の詳細をユーザーが入力できるようにしたいとします。ただし、これらの詳細が常に入手できるとは限りません。 Pydantic データクラスを使用すると、フィールドをオプションにし、デフォルト値を設定することによって、これを簡単に実現できます。

この例では、「Movie」データクラスに、本が書かれている言語とページ数という 2 つの新しいフィールドが含まれています。 「言語」フィールドのデフォルト値は「不明」です。これは、ユーザーがこの詳細を提供しない場合、デフォルトで「不明」になることを示します。 「ページ数」フィールドはオプションであり、空白のまま(なしに設定)にすることができます。

から 卑劣な 輸入 ベースモデル
クラス ( ベースモデル :
タイトル: str
著者: str
リリース年: 整数
言語: str = '未知'
ページ: 整数 = なし
入力 = {
'タイトル' : '苦しむ'
'著者' : 'アダム'
「リリース年」 : 2023年
'言語' : '英語'
「ページ」 : 2.3.4
}
= ( ** 入力
印刷する ( 「本の詳細:」 本。 タイトル 本。 著者 本。 リリース年 本。 言語 本。 ページ

これらのコード行をコピーしてコンパイラに貼り付けて、結果を確認します。

から 卑劣な 輸入 ベースモデル
クラス ( ベースモデル ) :
タイトル: str
著者: str
リリース年: 整数
入力 = {
'タイトル' : '苦しむ'
'著者' : 'アダム'
「リリース年」 : 2023年
}

# ブックインスタンスの作成
試す :
= ( ** 入力 )
印刷する ( 「本の詳細:」 本。 タイトル 本。 著者 本。 リリース年 )
を除外する 例外 として それは次のとおりです。
印刷する ( 'エラー:' それは )

これらのオプションのフィールドとデフォルト値を含めることで、ユーザーが特定の詳細を提供しなくても、Pydantic はデータが適切に構造化され、一貫性が保たれるようにします。

方法 2: Pydantic の学生登録フォームのデータクラスを使用したデータ処理

学校行事の登録フォームを作成していると想像してください。人々は自分の情報を入力する必要があるため、私たちは間違いを避けたいと考えています。そこで Pydantic データクラスが役立ちます。データが正しいことを確認し、簡単に処理できます。

必要なパッケージを Python プロジェクトに導入した後、参加者の詳細用に「Student」という Pydantic データクラスを作成して、Pydantic データクラスを定義します。

から 卑劣な 輸入 ベースモデル

クラス デコレータを使用して、「Student」クラスを設定します。 Pydantic の BaseModel を継承しています。内部では、名前、電子メール、部門、電話などの属性に名前を付け、それぞれにデータ型を付けます。

クラス 学生 ( ベースモデル ) :

名前: str

Eメール : str

部門: str

電話: str

ここで Pydantic データクラスを使用して、「Student」データクラスを操作して生徒データを管理します。

情報 = {

'名前' : 「XYZ」

'Eメール' : 「xyz@student.com」

'部門' : 「アンドリュー」

'電話' : 「0003-4567234」

}

この部分では、誰かがサインアップしたふりをします。データを使用して「Student」インスタンスを作成すると、Pydantic はそれが構造に適合するかどうかをチェックします。 「@」のないメールや文字列以外の部門など、エラーがある場合、Pydantic は停止して問題を説明します。

学生 = 学生 ( **情報 )

印刷する ( 「生徒の詳細:」 学生 )

Pydantic データクラスを使用した改良されたデータ処理により、すぐに使用できるデータが得られます。さらにフィールドを追加したり、デフォルトを設定したり、複雑なデータ設定を操作したりできます。これらすべてにより、データが整理された状態に保たれることが保証されます。

観察のために、コードと出力のスニペットを以下に示します。

から 卑劣な 輸入 ベースモデル

クラス 学生 ( ベースモデル ) :
名前: str
Eメール : str
部門: str
電話: str

情報 = {
'名前' : 「XYZ」
'Eメール' : 「xyz@student.com」
'部門' : 「アンドリュー」
'電話' : 「0003-4567234」
}
学生 = 学生 ( **情報 )
印刷する ( 「生徒の詳細:」 学生 )

出力を観察した後、この簡単な例では、Pydantic データクラスによってデータがスムーズに処理されることがわかります。彼らは、入力が私たちが望むものと一致していることを確認します。これは、エラーが減り、ユーザーが満足することを意味します。

結論

Pydantic データクラスは、データの扱い方を統合します。これらは、情報が正確であり、必要な構造に適合していることを保証します。これにより、エラーが減り、より完璧なアプリケーションが実現します。 Pydantic を使用すると、開発者はデータの問題に関する懸念に邪魔されることなく、適切に機能するアプリの作成に専念できます。データ管理専用のタスク マネージャーがあり、すべてが最初から最後までスムーズに実行されるようにするものと考えてください。