Cara Meningkatkan Pengendalian Data dengan Kelas Data Pydantic

Cara Meningkatkan Pengendalian Data Dengan Kelas Data Pydantic



Kelas data Pydantic menawarkan penyelesaian lanjutan untuk memperhalusi pengendalian data dalam Python. Bekerja sebagai rangka kerja pengesahan data memudahkan proses mencipta data berstruktur dengan menyepadukannya dengan kelas data. Ia mengautomasikan pengesahan data, pelaporan ralat dan penukaran jenis data. Ini memastikan bahawa data sejajar dengan keperluan yang ditentukan. Ia juga menyokong nilai lalai, medan pilihan dan struktur data yang kompleks. Ringkasnya, kelas data Pydantic membantu pengaturcara mengoptimumkan amalan pengendalian data, yang membawa kepada hasil pengekodan yang berkesan dan boleh dipercayai.

Sintaks:

Cara yang mudah tetapi berkesan untuk meningkatkan cara data diurus menggunakan kelas data Pydantic dalam Python adalah dengan menggunakan penghias kelas dengan bantuan yang pada asasnya kami mencipta model untuk rupa data kami. Ia seperti memberikan data kami struktur yang jelas. Jadi, sintaks untuk menentukan kelas data adalah seperti berikut:







kelas nama model ( BaseModel )

'model_name' membentangkan nama model yang kami ingin buat dan 'BaseModel' daripada Pydantic bertindak seperti penjaga yang memastikan data mengikut peraturan yang kami tetapkan dan dihantar kepada model sebagai parameter inputnya. Di dalam kelas, kami menentukan jenis maklumat yang perlu disimpan oleh setiap data. Proses ini memastikan bahawa apabila kami mencipta contoh kelas data, maklumat yang kami sediakan sepadan dengan apa yang kami takrifkan.



Kaedah 1: Pengendalian Data Dipertingkat dengan Kelas Data Pydantic

Bayangkan bahawa kami sedang membangunkan aplikasi mudah untuk menyusun maklumat tentang buku dalam koleksi kami. Kami ingin memastikan bahawa data yang kami kumpulkan untuk tujuan ini adalah tepat, konsisten dan tersusun dengan baik. Di sinilah kelas data Pydantic melangkah masuk untuk memudahkan dan menambah baik proses.



Bermula dengan contoh memerlukan mentakrifkan Pydantic Dataclass. Jadi, kita mulakan dengan mentakrifkan kelas data Pydantic bernama 'Buku' yang mewakili butiran Buku. Untuk menentukan kelas data untuk Pydantic, kita perlu memastikan bahawa semua pakej Pydantic dipasang sebelum dalam projek.





daripada pydantic import BaseModel

Menggunakan penghias kelas, kami mencipta kelas 'Buku' yang diwarisi daripada BaseModel Pydantic. Di dalam kelas, kami menentukan atribut seperti tajuk, pengarang dan release_year, setiap satu dikaitkan dengan jenis data masing-masing.

kelas Buku ( BaseModel ) :

tajuk: str

pengarang: str

release_year: int

Selepas mencipta model kelas, kami menggunakan kelas data Pydantic, menggunakan kuasa kelas data 'Buku' untuk mengendalikan data 'filem':



Dalam bahagian ini, kami meniru pengguna yang memasukkan butiran mengenai buku. Model kelas data 'buku' mempunyai atribut seperti tajuk, pengarang dan tahun keluaran dengan jenis data tersendirinya. Jadi, dalam bahagian ini, iaitu 'input', kami menentukan nilainya.

input = {

'tajuk' : 'Menderita' ,

'pengarang' : 'Adam' ,

'release_year' : 2023

}

Selepas spesifikasi butiran tentang atribut model buku dalam input, kami mencipta tika 'Buku' dengan data yang disediakan menggunakan butiran ini; ini dilakukan untuk memastikan bahawa Pydantic secara automatik mengesahkan input terhadap struktur data yang ditentukan. Jika terdapat sebarang ketidakkonsistenan atau kesilapan, seperti tahun keluaran bukan integer atau tajuk yang tiada, Pydantic dengan cepat menimbulkan ralat bersama-sama dengan penjelasan yang mesra pengguna.

cubalah :

buku = Buku ( ** input )

cetak ( 'Butiran buku:' , buku. tajuk , buku. pengarang , buku. release_year )

kecuali Pengecualian sebagai Ia adalah:

cetak ( 'Ralat:' , Ia adalah )

Untuk pengendalian data dipertingkat yang berpengalaman dengan kelas data Pydantic, kami menerima mekanisme terbina dalam untuk pengesahan dan ketekalan data. Kami boleh menggabungkan medan pilihan, nilai lalai dan struktur bersarang kompleks untuk merangkumi pelbagai senario data. Ini menjamin bahawa data kami kekal teratur dan diformat dengan betul.

Langkah ini meneroka cara kelas data Pydantic menawarkan keupayaan pengendalian data yang dipertingkatkan melalui ciri seperti medan pilihan, nilai lalai dan struktur bersarang.

Berikut ialah contoh di mana kami menunjukkan cara menambah medan pilihan dan nilai lalai:

Katakan kami ingin membenarkan pengguna memasukkan butiran tambahan tentang buku seperti genre dan masa jalan. Walau bagaimanapun, butiran ini mungkin tidak selalu tersedia. Dengan kelas data Pydantic, kita boleh mencapai ini dengan mudah dengan menjadikan medan pilihan dan juga menetapkan nilai lalai.

Dalam contoh ini, kelas data 'Filem' termasuk dua medan baharu: bahasa di mana buku itu ditulis dan bilangan halaman. Medan 'bahasa' mempunyai nilai lalai 'Tidak Diketahui' yang menunjukkan bahawa jika pengguna tidak memberikan butiran ini, ia lalai kepada 'Tidak Diketahui'. Medan 'bilangan halaman' adalah pilihan dan boleh dibiarkan kosong (ditetapkan kepada tiada).

daripada pydantic import BaseModel
kelas Buku ( BaseModel ) :
tajuk: str
pengarang: str
release_year: int
bahasa: str = 'tidak diketahui'
muka surat: int = tiada
input = {
'tajuk' : 'Menderita' ,
'pengarang' : 'Adam' ,
'release_year' : 2023 ,
'bahasa' : 'Bahasa Inggeris' ,
'halaman' : 2. 3. 4
}
buku = Buku ( ** input )
cetak ( 'Butiran buku:' , buku. tajuk , buku. pengarang , buku. release_year , buku. bahasa , buku. muka surat )

Kami boleh menyalin baris kod ini dan menampalnya ke dalam pengkompil untuk melihat hasilnya:

daripada pydantic import BaseModel
kelas Buku ( BaseModel ) :
tajuk: str
pengarang: str
release_year: int
input = {
'tajuk' : 'Menderita' ,
'pengarang' : 'Adam' ,
'release_year' : 2023
}

# Mencipta contoh buku
cubalah :
buku = Buku ( ** input )
cetak ( 'Butiran buku:' , buku. tajuk , buku. pengarang , buku. release_year )
kecuali Pengecualian sebagai Ia adalah:
cetak ( 'Ralat:' , Ia adalah )

Dengan memasukkan medan pilihan dan nilai lalai ini, Pydantic memastikan data kekal tersusun dengan baik dan konsisten walaupun pengguna tidak memberikan butiran tertentu.

Kaedah 2: Pengendalian Data dengan Kelas Data Pydantic untuk Borang Pendaftaran Pelajar

Bayangkan kita sedang membuat borang pendaftaran untuk acara sekolah. Orang ramai perlu memasukkan maklumat mereka, dan kami mahu mengelakkan kesilapan. Di situlah kelas data Pydantic membantu. Mereka memastikan bahawa data adalah betul dan mengendalikannya dengan mudah.

Selepas membawa pakej yang diperlukan ke projek Python, kami mentakrifkan kelas data Pydantic dengan mencipta kelas data Pydantic yang dipanggil 'Pelajar' untuk butiran peserta.

daripada pydantic import BaseModel

Gunakan penghias kelas untuk menyediakan kelas 'Pelajar'. Ia mewarisi daripada BaseModel Pydantic. Di dalam, kami menamakan atribut seperti nama, e-mel, jabatan dan telefon, masing-masing dengan jenis datanya.

kelas Pelajar ( BaseModel ) :

nama: str

emel : str

jabatan: str

telefon: str

Dengan penggunaan kelas data Pydantic sekarang, bekerjasama dengan kelas data 'Pelajar' untuk mengurus data pelajar:

info = {

'nama' : 'XYZ' ,

'e-mel' : 'xyz@student.com' ,

'jabatan' : 'Andrew' ,

'telefon' : '0003-4567234'

}

Dalam bahagian ini, kami berpura-pura bahawa seseorang mendaftar. Apabila kami membuat contoh 'Pelajar' menggunakan data mereka, Pydantic menyemak sama ada ia sesuai dengan struktur. Jika terdapat ralat, seperti e-mel tanpa '@' atau jabatan bukan rentetan, Pydantic berhenti dan menerangkan isu tersebut.

pelajar = Pelajar ( **maklumat )

cetak ( 'Butiran pelajar:' , pelajar )

Pengendalian data yang dipertingkat menggunakan kelas data Pydantic memberikan kami data sedia untuk digunakan. Kami boleh menambah lebih banyak medan, menetapkan lalai atau bekerja dengan persediaan data yang kompleks. Semua ini menjamin bahawa data kami kekal teratur.

Kod dan coretan output disebut dalam perkara berikut untuk pemerhatian:

daripada pydantic import BaseModel

kelas Pelajar ( BaseModel ) :
nama: str
emel : str
jabatan: str
telefon: str

info = {
'nama' : 'XYZ' ,
'e-mel' : 'xyz@student.com' ,
'jabatan' : 'Andrew' ,
'telefon' : '0003-4567234'
}
pelajar = Pelajar ( **maklumat )
cetak ( 'Butiran pelajar:' , pelajar )

Selepas memerhatikan output, kita boleh merumuskan bahawa kelas data Pydantic membuat pengendalian data dengan lancar dalam contoh mudah ini. Mereka memastikan bahawa input sepadan dengan apa yang kita mahu. Ini bermakna lebih sedikit ralat dan pengguna lebih gembira.

Kesimpulan

Kelas data Pydantic menyepadukan cara kami berurusan dengan data. Mereka menjamin bahawa maklumat adalah tepat dan sesuai dengan struktur yang diperlukan. Ini diterjemahkan kepada lebih sedikit ralat dan aplikasi yang lebih sempurna. Dengan Pydantic, pembangun boleh menumpukan usaha mereka untuk mencipta apl yang berfungsi dengan baik tanpa diganggu oleh kebimbangan tentang isu data. Anggaplah ia mempunyai pengurus tugas khusus hanya untuk mengurus data, memastikan semuanya berjalan lancar dari awal hingga akhir.