Kako izboljšati ravnanje s podatki s Pydantic podatkovnimi razredi

Kako Izboljsati Ravnanje S Podatki S Pydantic Podatkovnimi Razredi



Podatkovni razredi Pydantic ponujajo napredno rešitev za izboljšanje obdelave podatkov v Pythonu. Delovanje kot ogrodje za preverjanje veljavnosti podatkov poenostavi postopek ustvarjanja strukturiranih podatkov z integracijo s podatkovnimi razredi. Avtomatizira preverjanje podatkov, poročanje o napakah in pretvorbe tipov podatkov. To zagotavlja, da so podatki usklajeni z določenimi zahtevami. Podpira tudi privzete vrednosti, neobvezna polja in kompleksne podatkovne strukture. Skratka, podatkovni razredi Pydantic programerjem pomagajo optimizirati prakse ravnanja s podatki, kar vodi do učinkovitih in zanesljivih rezultatov kodiranja.

Sintaksa:

Preprost, a učinkovit način za izboljšanje upravljanja podatkov z uporabo podatkovnih razredov Pydantic v Pythonu je uporaba dekoratorja razreda, s pomočjo katerega v bistvu ustvarimo model, kako naj bi bili videti naši podatki. To je tako, kot da bi našim podatkom dali jasno strukturo. Sintaksa za definiranje podatkovnega razreda je torej naslednja:







razred ime_modela ( BaseModel )

»Ime_modela« predstavlja ime modela, ki ga želimo ustvariti, »BaseModel« iz Pydantica pa deluje kot varuh, ki zagotavlja, da podatki sledijo pravilom, ki smo jih postavili, in se posredujejo modelu kot njegov vhodni parameter. Znotraj razreda definiramo, kakšne informacije naj vsebuje vsak podatek. Ta postopek zagotavlja, da se informacije, ki jih zagotovimo, ujemajo s tem, kar smo definirali, ko ustvarimo primerek podatkovnega razreda.



1. način: Izboljšano ravnanje s podatki s Pydanticovim podatkovnim razredom

Predstavljajte si, da razvijamo preprosto aplikacijo za organiziranje informacij o knjigah v naši zbirki. Želimo zagotoviti, da so podatki, ki jih zbiramo v ta namen, točni, dosledni in dobro strukturirani. Tu nastopijo podatkovni razredi Pydantic, ki poenostavijo in izboljšajo postopek.



Začetek s primerom zahteva definiranje podatkovnega razreda Pydantic. Torej, začnemo z definiranjem podatkovnega razreda Pydantic z imenom »Knjige«, ki predstavlja podrobnosti knjig. Če želite definirati podatkovni razred za Pydantic, se moramo prepričati, da so vsi paketi Pydantic nameščeni pred projektom.





od pidantičen uvoz BaseModel

Z dekoratorjem razreda ustvarimo razred »Book«, ki je podedoval Pydantic BaseModel. Znotraj razreda določimo atribute, kot so naslov, avtor in leto izdaje, od katerih je vsak povezan s svojim tipom podatkov.

razred Knjiga ( BaseModel ) :

naslov: str

avtor: str

leto izdaje: int

Ko ustvarimo model razreda, uporabimo podatkovni razred Pydantic, pri čemer prevzamemo moč podatkovnega razreda »Knjiga« za obdelavo podatkov »filma«:



V tem razdelku posnemamo uporabnika, ki vnese podrobnosti o knjigi. Model podatkovnega razreda »knjiga« ima atribute, kot so naslov, avtor in leto izdaje, s svojimi značilnimi podatkovnimi tipi. Torej, v tem delu, tj. 'vhod', določimo njihove vrednosti.

vnos = {

'naslov' : 'Trpeti' ,

'avtor' : 'Adam' ,

'leto_izdaje' : 2023

}

Po specifikacijah podrobnosti o atributih knjižnega modela v vnosu ustvarimo primerek »Knjiga« s podanimi podatki z uporabo teh podrobnosti; to se naredi za zagotovitev, da Pydantic samodejno preveri vnos glede na definirano strukturo podatkov. Če obstaja kakršna koli nedoslednost ali napaka, na primer leto izdaje, ki ni celo število, ali manjkajoči naslov, Pydantic hitro prikaže napako skupaj z uporabniku prijazno razlago.

poskusi :

knjiga = Knjiga ( ** vnos )

tiskanje ( 'Podrobnosti o knjigi:' , knjiga. naslov , knjiga. avtor , knjiga. leto izdaje )

razen Izjema kot Je:

tiskanje ( 'Napaka:' , je )

Za izkušeno izboljšano obdelavo podatkov s podatkovnimi razredi Pydantic prejmemo vgrajen mehanizem za preverjanje in doslednost podatkov. Vključimo lahko izbirna polja, privzete vrednosti in kompleksne ugnezdene strukture, da pokrijemo različne podatkovne scenarije. To zagotavlja, da naši podatki ostanejo organizirani in pravilno oblikovani.

Ta korak raziskuje, kako podatkovni razredi Pydantic ponujajo izboljšane zmožnosti ravnanja s podatki prek funkcij, kot so neobvezna polja, privzete vrednosti in ugnezdene strukture.

Tukaj je primer, kjer prikazujemo, kako dodati neobvezna polja in privzete vrednosti:

Recimo, da želimo uporabnikom omogočiti vnos dodatnih podrobnosti o knjigah, kot sta žanr in čas izvajanja. Vendar te podrobnosti morda niso vedno na voljo. S podatkovnimi razredi Pydantic lahko to zlahka dosežemo tako, da naredimo polja neobvezna in celo nastavimo privzete vrednosti.

V tem primeru podatkovni razred »Film« vključuje dve novi polji: jezik, v katerem je knjiga napisana, in število strani. Polje »jezik« ima privzeto vrednost »Neznano«, kar pomeni, da je privzeta vrednost »Neznano«, če uporabnik ne vnese te podrobnosti. Polje »število strani« ni obvezno in ga lahko pustite prazno (nastavite na nobeno).

od pidantičen uvoz BaseModel
razred Knjiga ( BaseModel ) :
naslov: str
avtor: str
leto izdaje: int
jezik: str = 'neznano'
strani: int = Noben
vnos = {
'naslov' : 'Trpeti' ,
'avtor' : 'Adam' ,
'leto_izdaje' : 2023 ,
'jezik' : 'Angleščina' ,
'strani' : 2. 3. 4
}
knjiga = Knjiga ( ** vnos )
tiskanje ( 'Podrobnosti o knjigi:' , knjiga. naslov , knjiga. avtor , knjiga. leto izdaje , knjiga. jezik , knjiga. strani )

Te vrstice kode lahko kopiramo in jih prilepimo v prevajalnik, da opazujemo rezultate:

od pidantičen uvoz BaseModel
razred Knjiga ( BaseModel ) :
naslov: str
avtor: str
leto izdaje: int
vnos = {
'naslov' : 'Trpeti' ,
'avtor' : 'Adam' ,
'leto_izdaje' : 2023
}

# Ustvarjanje primerka knjige
poskusi :
knjiga = Knjiga ( ** vnos )
tiskanje ( 'Podrobnosti o knjigi:' , knjiga. naslov , knjiga. avtor , knjiga. leto izdaje )
razen Izjema kot Je:
tiskanje ( 'Napaka:' , je )

Z vključitvijo teh neobveznih polj in privzetih vrednosti Pydantic zagotavlja, da podatki ostanejo dobro strukturirani in dosledni, tudi če uporabniki ne zagotovijo določenih podrobnosti.

2. način: Obravnava podatkov s Pydanticovim podatkovnim razredom za obrazec za registracijo študentov

Predstavljajte si, da izdelujemo prijavnico za šolsko prireditev. Ljudje morajo vnesti svoje podatke in želimo se izogniti napakam. Tu so v pomoč podatkovni razredi Pydantic. Skrbijo, da so podatki pravilni in z njimi enostavno ravnajo.

Po vnosu potrebnih paketov v projekt Python definiramo podatkovni razred Pydantic tako, da ustvarimo podatkovni razred Pydantic z imenom »Študent« za podrobnosti udeležencev.

od pidantičen uvoz BaseModel

Uporabite dekorater razreda, da nastavite razred »Študent«. Podeduje Pydantic's BaseModel. V notranjosti poimenujemo atribute, kot so ime, e-pošta, oddelek in telefon, vsak s svojo vrsto podatkov.

razred študent ( BaseModel ) :

ime: str

E-naslov : str

oddelek: str

telefon: str

Z uporabo podatkovnega razreda Pydantic zdaj delajte s podatkovnim razredom »Študent« za upravljanje podatkov študentov:

info = {

'ime' : 'XYZ' ,

'E-naslov' : 'xyz@študent.com' ,

'oddelek' : 'Andrej' ,

'telefon' : '0003-4567234'

}

V tem delu se pretvarjamo, da se nekdo prijavi. Ko naredimo primerek »Student« z uporabo njihovih podatkov, Pydantic preveri, ali ustreza strukturi. Če pride do napake, na primer e-pošte brez »@« ali oddelka brez niza, se Pydantic ustavi in ​​razloži težavo.

študent = študent ( **info )

tiskanje ( 'Podrobnosti študenta:' , študent )

Izboljšana obdelava podatkov z uporabo podatkovnih razredov Pydantic nam daje podatke, pripravljene za uporabo. Dodamo lahko več polj, nastavimo privzete vrednosti ali delamo s kompleksnimi nastavitvami podatkov. Vse to zagotavlja, da naši podatki ostanejo organizirani.

Koda in delček izhoda sta omenjena v nadaljevanju za opazovanje:

od pidantičen uvoz BaseModel

razred študent ( BaseModel ) :
ime: str
E-naslov : str
oddelek: str
telefon: str

info = {
'ime' : 'XYZ' ,
'E-naslov' : 'xyz@študent.com' ,
'oddelek' : 'Andrej' ,
'telefon' : '0003-4567234'
}
študent = študent ( **info )
tiskanje ( 'Podrobnosti študenta:' , študent )

Po opazovanju izhoda lahko povzamemo, da podatkovni razredi Pydantic omogočajo gladko obdelavo podatkov v tem preprostem primeru. Poskrbijo, da se vnos ujema s tem, kar želimo. To pomeni manj napak in zadovoljnejše uporabnike.

Zaključek

Pydantic podatkovni razredi integrirajo, kako ravnamo s podatki. Zagotavljajo, da so informacije točne in ustrezajo zahtevani strukturi. To pomeni manj napak in več brezhibnih aplikacij. S Pydantic lahko razvijalci posvetijo svoja prizadevanja izdelavi dobro delujočih aplikacij, ne da bi jih motili pomisleki glede podatkovnih težav. Zamislite si, da imate namenskega upravitelja opravil samo za upravljanje podatkov, ki zagotavlja, da vse teče gladko od začetka do konca.