Kā uzlabot datu apstrādi ar Pydantic datu klasēm

Ka Uzlabot Datu Apstradi Ar Pydantic Datu Klasem



Pydantic datu klases piedāvā uzlabotu risinājumu, lai uzlabotu datu apstrādi Python. Darbs kā datu validācijas ietvars vienkāršo strukturēto datu izveides procesu, integrējot tos ar datu klasēm. Tas automatizē datu validāciju, kļūdu ziņošanu un datu tipu konvertēšanu. Tas nodrošina, ka dati atbilst noteiktajām prasībām. Tā atbalsta arī noklusējuma vērtības, neobligātos laukus un sarežģītas datu struktūras. Īsāk sakot, Pydantic datu klases palīdz programmētājiem optimizēt datu apstrādes praksi, nodrošinot efektīvus un uzticamus kodēšanas rezultātus.

Sintakse:

Vienkāršs, bet efektīvs veids, kā uzlabot datu pārvaldību, izmantojot Pydantic datu klases Python, ir klases dekoratora izmantošana, ar kuras palīdzību mēs būtībā izveidojam modeli, kā mūsu datiem vajadzētu izskatīties. Tas ir tāpat kā mūsu datu skaidras struktūras piešķiršana. Tātad datu klases definēšanas sintakse ir šāda:







klasē modeļa_nosaukums ( Pamatmodelis )

“model_name” parāda modeļa nosaukumu, kuru mēs vēlamies izveidot, un Pydantic “BaseModel” darbojas kā aizbildnis, kas nodrošina, ka dati atbilst mūsu iestatītajiem noteikumiem un tiek nodoti modelim kā ievades parametrs. Klasē mēs definējam, kāda veida informācija ir jāiekļauj katrā datu daļā. Šis process nodrošina, ka, veidojot datu klases gadījumu, mūsu sniegtā informācija atbilst mūsu definētajai informācijai.



1. metode: uzlabota datu apstrāde, izmantojot Pydantic datu klasi

Iedomājieties, ka mēs izstrādājam vienkāršu lietojumprogrammu, lai sakārtotu informāciju par mūsu kolekcijā esošajām grāmatām. Mēs vēlamies nodrošināt, ka šim nolūkam apkopotie dati ir precīzi, konsekventi un labi strukturēti. Šeit darbojas Pydantic datu klases, lai vienkāršotu un uzlabotu procesu.



Sākot ar piemēru, ir jādefinē Pydantic Dataclass. Tātad, mēs sākam, definējot Pydantic datu klasi ar nosaukumu “Grāmatas”, kas atspoguļo grāmatu informāciju. Lai definētu Pydantic datu klasi, mums ir jāpārliecinās, ka visas Pydantic pakotnes ir instalētas pirms projekta.





no pidantisks imports Pamatmodelis

Izmantojot klases dekoratoru, mēs izveidojam klasi “Grāmata”, kas mantota no Pydantic's BaseModel. Klasē mēs norādām tādus atribūtus kā nosaukums, autors un release_year, un katrs ir saistīts ar attiecīgo datu tipu.

klasē Grāmata ( Pamatmodelis ) :

virsraksts: str

autors: str

release_year: starpt

Pēc klases modeļa izveidošanas mēs izmantojam Pydantic datu klasi, izmantojot datu klases “Book” spēku, lai apstrādātu “filmas” datus:



Šajā sadaļā mēs atdarinām lietotāju, kurš ievada informāciju par grāmatu. Datu klases “grāmata” modelim ir atribūti, piemēram, nosaukums, autors un izdošanas gads, ar to atšķirīgajiem datu tipiem. Tātad šajā daļā, t.i., “ievade”, mēs norādām to vērtības.

ievade = {

'nosaukums' : 'Ciet' ,

'autors' : 'Ādams' ,

'izlaiduma_gads' : 2023. gads

}

Pēc tam, kad ievadē ir norādīta informācija par grāmatas modeļa atribūtiem, mēs izveidojam 'Grāmatas' gadījumu ar sniegtajiem datiem, izmantojot šo informāciju; tas tiek darīts, lai nodrošinātu, ka Pydantic automātiski apstiprina ievadi attiecībā pret definēto datu struktūru. Ja ir kāda neatbilstība vai kļūda, piemēram, izlaišanas gads, kas nav vesels skaitlis, vai trūkst nosaukuma, Pydantic ātri parāda kļūdu un lietotājam draudzīgu skaidrojumu.

mēģināt :

grāmatu = Grāmata ( ** ievade )

drukāt ( 'Grāmatas informācija:' , grāmatu. virsraksts , grāmatu. autors , grāmatu. izlaiduma_gads )

izņemot Izņēmums Tas ir:

drukāt ( 'Kļūda:' , Tas ir )

Pieredzējušai uzlabotai datu apstrādei ar Pydantic datu klasēm mēs saņemam iebūvētu datu validācijas un konsekvences mehānismu. Mēs varam iekļaut neobligātos laukus, noklusējuma vērtības un sarežģītas ligzdotas struktūras, lai aptvertu dažādus datu scenārijus. Tas garantē, ka mūsu dati joprojām ir sakārtoti un pareizi formatēti.

Šajā darbībā tiek pētīts, kā Pydantic datu klases piedāvā uzlabotas datu apstrādes iespējas, izmantojot tādus līdzekļus kā izvēles lauki, noklusējuma vērtības un ligzdotas struktūras.

Tālāk ir sniegts piemērs, kurā parādīts, kā pievienot neobligātos laukus un noklusējuma vērtības.

Pieņemsim, ka mēs vēlamies ļaut lietotājiem ievadīt papildu informāciju par grāmatām, piemēram, žanru un izpildlaiku. Tomēr šī informācija ne vienmēr var būt pieejama. Izmantojot Pydantic datu klases, mēs to varam viegli sasniegt, padarot laukus neobligātus un pat iestatot noklusējuma vērtības.

Šajā piemērā datu klase “Filma” ietver divus jaunus laukus: valodu, kurā grāmata ir rakstīta, un lappušu skaitu. Laukam “Valoda” ir noklusējuma vērtība “Nezināms”, kas norāda, ka, ja lietotājs nesniedz šo informāciju, pēc noklusējuma tiek iestatīta vērtība “Nezināms”. Lauks “Lapu skaits” nav obligāts, un to var atstāt tukšu (iestatīts uz Nav).

no pidantisks imports Pamatmodelis
klasē Grāmata ( Pamatmodelis ) :
virsraksts: str
autors: str
release_year: starpt
valoda: str = 'nezināms'
lapas: starpt = Nav
ievade = {
'nosaukums' : 'Ciet' ,
'autors' : 'Ādams' ,
'izlaiduma_gads' : 2023. gads ,
'valoda' : 'Angļu' ,
'lapas' : 2. 3. 4
}
grāmatu = Grāmata ( ** ievade )
drukāt ( 'Grāmatas informācija:' , grāmatu. virsraksts , grāmatu. autors , grāmatu. izlaiduma_gads , grāmatu. valodu , grāmatu. lapas )

Mēs varam kopēt šīs koda rindas un ielīmēt tās kompilatorā, lai novērotu rezultātus:

no pidantisks imports Pamatmodelis
klasē Grāmata ( Pamatmodelis ) :
virsraksts: str
autors: str
release_year: starpt
ievade = {
'nosaukums' : 'Ciet' ,
'autors' : 'Ādams' ,
'izlaiduma_gads' : 2023. gads
}

# Grāmatas instances izveide
mēģināt :
grāmatu = Grāmata ( ** ievade )
drukāt ( 'Grāmatas informācija:' , grāmatu. virsraksts , grāmatu. autors , grāmatu. izlaiduma_gads )
izņemot Izņēmums Tas ir:
drukāt ( 'Kļūda:' , Tas ir )

Iekļaujot šos neobligātos laukus un noklusējuma vērtības, Pydantic nodrošina, ka dati paliek labi strukturēti un konsekventi pat tad, ja lietotāji nesniedz noteiktu informāciju.

2. metode: datu apstrāde ar Pydantic datu klasi studentu reģistrācijas veidlapai

Iedomājieties, ka mēs veidojam reģistrācijas veidlapu skolas pasākumam. Cilvēkiem ir jāievada sava informācija, un mēs vēlamies izvairīties no kļūdām. Šeit palīdz Pydantic datu klases. Viņi pārliecinās, ka dati ir pareizi, un apstrādā tos viegli.

Pēc nepieciešamo pakotņu ievešanas Python projektā mēs definējam Pydantic datu klasi, izveidojot Pydantic datu klasi ar nosaukumu “Student”, lai iegūtu informāciju par dalībniekiem.

no pidantisks imports Pamatmodelis

Izmantojiet klases dekoratoru, lai iestatītu klasi “Students”. Tas ir mantots no Pydantic's BaseModel. Iekšpusē mēs nosaucam tādus atribūtus kā vārds, e-pasts, nodaļa un tālrunis, katram norādot savu datu veidu.

klasē Students ( Pamatmodelis ) :

nosaukums: str

e-pasts : str

nodaļa: str

tālrunis: str

Tagad, izmantojot Pydantic datu klasi, strādājiet ar datu klasi “Students”, lai pārvaldītu studentu datus:

info = {

'vārds' : 'XYZ' ,

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

'nodaļa' : 'Andrū' ,

'tālrunis' : '0003-4567234'

}

Šajā daļā mēs izliekamies, ka kāds pierakstās. Kad mēs izveidojam “Studenta” instanci, izmantojot viņu datus, Pydantic pārbauda, ​​vai tas atbilst struktūrai. Ja rodas kļūda, piemēram, e-pasts bez “@” vai nodaļa bez virknes, Pydantic apstājas un izskaidro problēmu.

students = Students ( **informācija )

drukāt ( 'Studenta informācija:' , students )

Uzlabotā datu apstrāde, izmantojot Pydantic datu klases, sniedz mums lietošanai gatavus datus. Mēs varam pievienot vairāk lauku, iestatīt noklusējuma iestatījumus vai strādāt ar sarežģītiem datu iestatījumiem. Tas viss garantē, ka mūsu dati tiek sakārtoti.

Kods un izvada fragments ir minēts tālāk novērojumam:

no pidantisks imports Pamatmodelis

klasē Students ( Pamatmodelis ) :
nosaukums: str
e-pasts : str
nodaļa: str
tālrunis: str

info = {
'vārds' : 'XYZ' ,
'e-pasts' : 'xyz@student.com' ,
'nodaļa' : 'Andrū' ,
'tālrunis' : '0003-4567234'
}
students = Students ( **informācija )
drukāt ( 'Studenta informācija:' , students )

Pēc izvades novērošanas mēs varam apkopot, ka Pydantic datu klases šajā vienkāršajā piemērā nodrošina vienmērīgu datu apstrādi. Viņi pārliecinās, ka ievade atbilst tam, ko mēs vēlamies. Tas nozīmē mazāk kļūdu un laimīgākus lietotājus.

Secinājums

Pydantiskās datu klases integrē veidu, kā mēs rīkojamies ar datiem. Tie garantē, ka informācija ir gan precīza, gan atbilst vajadzīgajai struktūrai. Tas nozīmē mazāk kļūdu un nevainojamu lietojumprogrammu. Izmantojot Pydantic, izstrādātāji var veltīt savus centienus labi funkcionējošu lietotņu izveidei, netraucējot bažām par datu problēmām. Iedomājieties to kā īpašu uzdevumu pārvaldnieku, kas paredzēts tikai datu pārvaldībai, nodrošinot, ka viss norit nevainojami no sākuma līdz beigām.