Kuidas täiustada andmetöötlust Pydantic andmeklassidega

Kuidas Taiustada Andmetootlust Pydantic Andmeklassidega



Pydantic andmeklassid pakuvad täiustatud lahendust Pythonis andmetöötluse täpsustamiseks. Andmete valideerimise raamistikuna töötamine lihtsustab struktureeritud andmete loomise protsessi, integreerides need andmeklassidega. See automatiseerib andmete valideerimist, veateadet ja andmetüüpide teisendusi. See tagab andmete vastavuse määratud nõuetele. Samuti toetab see vaikeväärtusi, valikulisi välju ja keerulisi andmestruktuure. Lühidalt öeldes aitavad Pydantic andmeklassid programmeerijatel optimeerida andmetöötluse tavasid, mis viivad tõhusate ja usaldusväärsete kodeerimistulemusteni.

Süntaks:

Lihtne, kuid tõhus viis andmete haldamise täiustamiseks Pydantic andmeklasside abil Pythonis on klasside dekoraatori kasutamine, mille abil loome sisuliselt mudeli selle kohta, kuidas meie andmed peaksid välja nägema. See on nagu meie andmetele selge struktuuri andmine. Seega on andmeklassi määratlemise süntaks järgmine:







klass mudeli nimi ( Põhimudel )

'Model_name' esitab mudeli nime, mida tahame luua ja Pydanticu 'BaseModel' toimib eestkostjana, mis tagab, et andmed järgivad meie seatud reegleid ja edastatakse mudelile sisendparameetrina. Klassi sees määratleme, millist teavet iga andmeosa peaks sisaldama. See protsess tagab, et andmeklassi eksemplari loomisel vastab meie pakutav teave meie määratletule.



1. meetod: täiustatud andmetöötlus Pydanticu andmeklassiga

Kujutage ette, et töötame välja lihtsat rakendust oma kogus olevate raamatute teabe korraldamiseks. Soovime tagada, et sellel eesmärgil kogutavad andmed oleksid täpsed, järjepidevad ja hästi struktureeritud. See on koht, kus Pydantic andmeklassid astuvad protsessi lihtsustamiseks ja täiustamiseks.



Näitest alustamiseks on vaja määratleda Pydantic Dataclass. Niisiis, alustame Pydantic andmeklassi nimega 'Raamat' määratlemisega, mis esindab raamatute üksikasju. Pydanticu andmeklassi määratlemiseks peame veenduma, et kõik Pydanticu paketid on enne projekti installitud.





alates püdantlik importida Põhimudel

Kasutades klassidekoraatorit, loome Pydanticu baasmudelist päritud klassi “Raamat”. Klassi sees määrame atribuudid, nagu pealkiri, autor ja väljalaske_aasta, millest igaüks on seotud vastava andmetüübiga.

klass Raamat ( Põhimudel ) :

pealkiri: str

autor: str

release_year: int

Pärast klassimudeli loomist kasutame Pydantic andmeklassi, kasutades andmeklassi 'Raamat' jõudu 'filmi' andmete käsitlemiseks:



Selles jaotises jäljendame kasutajat, kes sisestab raamatu üksikasjad. „Raamatu” andmeklassi mudelil on atribuudid, nagu pealkiri, autor ja väljalaskeaasta koos nende eristatavate andmetüüpidega. Niisiis, selles osas, st 'sisend', täpsustame nende väärtused.

sisend = {

'tiitel' : 'Kannata' ,

'autor' : 'Adam' ,

'väljalaske_aasta' : 2023. aasta

}

Pärast raamatumudeli atribuutide üksikasjade täpsustamist sisendis loome nende üksikasjade abil esitatud andmetega „Raamat” eksemplari; seda tehakse tagamaks, et Pydantic valideerib automaatselt sisendi määratletud andmestruktuuri suhtes. Kui ilmneb ebakõla või viga, näiteks mittetäisarvuline väljalaskeaasta või puuduv pealkiri, tõstatab Pydantic kiiresti veateate koos kasutajasõbraliku selgitusega.

proovige :

raamat = Raamat ( ** sisend )

printida ( 'Raamatu üksikasjad:' , raamat. pealkiri , raamat. autor , raamat. väljalaske_aasta )

välja arvatud Erand nagu See on:

printida ( 'Viga:' , see on )

Kogenud täiustatud andmetöötluseks Pydanticu andmeklassidega saame sisseehitatud mehhanismi andmete valideerimiseks ja järjepidevuse tagamiseks. Saame lisada valikulisi välju, vaikeväärtusi ja keerulisi pesastatud struktuure, et katta erinevaid andmestsenaariume. See tagab, et meie andmed on korrastatud ja õigesti vormindatud.

Selles etapis uuritakse, kuidas Pydanticu andmeklassid pakuvad täiustatud andmetöötlusvõimalusi selliste funktsioonide kaudu nagu valikulised väljad, vaikeväärtused ja pesastatud struktuurid.

Siin on näide, kus näitame, kuidas lisada valikulisi välju ja vaikeväärtusi.

Oletame, et tahame lubada kasutajatel sisestada raamatute kohta täiendavaid üksikasju, nagu žanr ja käitusaeg. Need üksikasjad ei pruugi aga alati saadaval olla. Pydantic andmeklasside abil saame seda hõlpsalt saavutada, muutes väljad valikuliseks ja määrates isegi vaikeväärtused.

Selles näites sisaldab andmeklass 'Film' kahte uut välja: keel, milles raamat on kirjutatud, ja lehekülgede arv. Väljal „Keel” on vaikeväärtus „Tundmatu”, mis näitab, et kui kasutaja seda üksikasju ei esita, on vaikeväärtus „Tundmatu”. Väli „lehekülgede arv” on valikuline ja selle võib tühjaks jätta (määratud väärtusele Puudub).

alates püdantlik importida Põhimudel
klass Raamat ( Põhimudel ) :
pealkiri: str
autor: str
release_year: int
keel: str = 'tundmatu'
leheküljed: int = Mitte ühtegi
sisend = {
'tiitel' : 'Kannata' ,
'autor' : 'Adam' ,
'väljalaske_aasta' : 2023. aasta ,
'keel' : 'Inglise' ,
'lehed' : 2. 3. 4
}
raamat = Raamat ( ** sisend )
printida ( 'Raamatu üksikasjad:' , raamat. pealkiri , raamat. autor , raamat. väljalaske_aasta , raamat. keel , raamat. lehekülgi )

Tulemuste jälgimiseks võime need koodiread kopeerida ja kompilaatorisse kleepida:

alates püdantlik importida Põhimudel
klass Raamat ( Põhimudel ) :
pealkiri: str
autor: str
release_year: int
sisend = {
'tiitel' : 'Kannata' ,
'autor' : 'Adam' ,
'väljalaske_aasta' : 2023. aasta
}

# Raamatueksemplari loomine
proovige :
raamat = Raamat ( ** sisend )
printida ( 'Raamatu üksikasjad:' , raamat. pealkiri , raamat. autor , raamat. väljalaske_aasta )
välja arvatud Erand nagu See on:
printida ( 'Viga:' , see on )

Nende valikuliste väljade ja vaikeväärtuste lisamisega tagab Pydantic, et andmed jäävad hästi struktureeritud ja järjepidevaks isegi siis, kui kasutajad teatud üksikasju ei esita.

2. meetod: andmete töötlemine Pydanticu andmeklassiga õpilaste registreerimisvormi jaoks

Kujutage ette, et koostame kooliüritusele registreerimisvormi. Inimesed peavad oma andmed sisestama ja me tahame vigu vältida. Siin aitavad Pydantic andmeklassid. Nad veenduvad, et andmed on õiged, ja käitlevad neid lihtsalt.

Pärast vajalike pakettide toomist Pythoni projekti defineerime Pydantic andmeklassi, luues osalejate üksikasjade jaoks Pydantic andmeklassi nimega “Student”.

alates püdantlik importida Põhimudel

Klassi „Õpilane” seadistamiseks kasutage klassidekoraatorit. See pärineb Pydanticu baasmudelist. Sees nimetame atribuute, nagu nimi, e-post, osakond ja telefon, koos oma andmetüübiga.

klass Üliõpilane ( Põhimudel ) :

nimi: str

meili : str

osakond: str

telefon: str

Nüüd kasutades Pydantic andmeklassi, tehke õpilaste andmete haldamiseks koostööd andmeklassiga „Student”.

info = {

'nimi' : 'XYZ' ,

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

'osakond' : 'Andrew' ,

'telefon' : '0003-4567234'

}

Selles osas teeskleme, et keegi registreerub. Kui teeme nende andmeid kasutades õpilase eksemplari, kontrollib Pydantic, kas see sobib struktuuriga. Kui ilmneb tõrge (nt e-kiri ilma @-täheta või stringivaba osakond), peatub Pydantic ja selgitab probleemi.

õpilane = Üliõpilane ( **info )

printida ( 'Üliõpilaste andmed:' , õpilane )

Täiustatud andmetöötlus Pydantic andmeklasside abil annab meile kasutusvalmis andmed. Saame lisada rohkem välju, määrata vaikeseadeid või töötada keerukate andmeseadetega. Kõik see tagab meie andmete korrastatuse.

Kood ja väljundi jupp on vaatluse jaoks märgitud järgmises:

alates püdantlik importida Põhimudel

klass Üliõpilane ( Põhimudel ) :
nimi: str
meili : str
osakond: str
telefon: str

info = {
'nimi' : 'XYZ' ,
'e-post' : 'xyz@student.com' ,
'osakond' : 'Andrew' ,
'telefon' : '0003-4567234'
}
õpilane = Üliõpilane ( **info )
printida ( 'Üliõpilaste andmed:' , õpilane )

Pärast väljundi vaatlemist võime kokku võtta, et Pydantic andmeklassid muudavad selles lihtsas näites andmete käsitlemise sujuvaks. Nad tagavad, et sisend vastab meie soovile. See tähendab vähem vigu ja õnnelikumaid kasutajaid.

Järeldus

Püdantilised andmeklassid integreerivad seda, kuidas me andmeid käsitleme. Nad garanteerivad, et teave on nii täpne kui ka nõutava struktuuriga. See tähendab vähem vigu ja veatumaid rakendusi. Pydanticu abil saavad arendajad pühendada oma jõupingutused hästi toimivate rakenduste loomisele, ilma et neid häiriks andmeprobleemid. Mõelge sellele, et teil on spetsiaalne tegumihaldur ainult andmete haldamiseks, tagades, et kõik töötab algusest lõpuni sujuvalt.