Hogyan javítható az adatkezelés Pydantic adatosztályokkal

Hogyan Javithato Az Adatkezeles Pydantic Adatosztalyokkal



A Pydantic adatosztályok fejlett megoldást kínálnak a Python adatkezelésének finomítására. Az adatellenőrzési keretrendszerként való működés leegyszerűsíti a strukturált adatok létrehozásának folyamatát azáltal, hogy integrálja azokat adatosztályokkal. Automatizálja az adatok érvényesítését, a hibajelentéseket és az adattípus-konverziókat. Ez biztosítja, hogy az adatok megfeleljenek a meghatározott követelményeknek. Támogatja az alapértelmezett értékeket, az opcionális mezőket és az összetett adatstruktúrákat is. Röviden, a Pydantic adatosztályok segítik a programozókat az adatkezelési gyakorlat optimalizálásában, ami hatékony és megbízható kódolási eredményekhez vezet.

Szintaxis:

Egy egyszerű, de hatékony módja annak, hogy javítsuk az adatok kezelését a Pydantic adatosztályokkal a Pythonban, az osztálydekorátor használata, amelynek segítségével lényegében modellt készítünk adataink megjelenésére. Ez olyan, mintha egyértelmű szerkezetet adnánk adatainknak. Tehát az adatosztály meghatározásának szintaxisa a következő:







osztály modell név ( BaseModel )

A „model_name” a létrehozni kívánt modell nevét mutatja, a Pydanticból származó „BaseModel” pedig őrzőként működik, amely biztosítja, hogy az adatok megfeleljenek az általunk beállított szabályoknak, és bemeneti paraméterként kerüljenek át a modellbe. Az osztályon belül meghatározzuk, hogy az egyes adatoknak milyen információkat kell tartalmazniuk. Ez a folyamat biztosítja, hogy amikor létrehozzuk az adatosztály példányát, az általunk megadott információk megegyezzenek az általunk meghatározottakkal.



1. módszer: Továbbfejlesztett adatkezelés a Pydantic adatosztályával

Képzelje el, hogy egy egyszerű alkalmazást fejlesztünk a gyűjteményünkben lévő könyvekkel kapcsolatos információk rendszerezésére. Biztosítani szeretnénk, hogy az e célból gyűjtött adatok pontosak, következetesek és jól strukturáltak legyenek. Itt lépnek be a Pydantic adatosztályok a folyamat egyszerűsítése és javítása érdekében.



A példából kiindulva meg kell határozni egy Pydantic Dataclasst. Tehát kezdjük egy „Könyvek” nevű Pydantic adatosztály meghatározásával, amely a Könyvek részleteit képviseli. A Pydantic adatosztályának meghatározásához meg kell győződnünk arról, hogy a Pydantic összes csomagja telepítve van a projektben.





tól től pydantikus import BaseModel

Az osztálydekorátor segítségével létrehozzuk a „Könyv” osztályt, amely a Pydantic alapmodelljéből öröklődik. Az osztályon belül megadjuk az olyan attribútumokat, mint a title, a author és a release_year, amelyek mindegyike a megfelelő adattípushoz van társítva.

osztály Könyv ( BaseModel ) :

cím: str

szerző: str

kiadás_év: int

Az osztálymodell létrehozása után a Pydantic adatosztályt használjuk, kihasználva a „Könyv” adatosztály erejét a „film” adatok kezelésére:



Ebben a részben egy felhasználót utánozunk, aki megadja a könyv részleteit. A „könyv” adatosztály modellje olyan attribútumokkal rendelkezik, mint a cím, a szerző és a kiadás éve, valamint a megkülönböztető adattípusok. Tehát ebben a részben, azaz az „input”-ban megadjuk az értékeiket.

bemenet = {

'cím' : 'Szenvedni' ,

'szerző' : 'Ádám' ,

'release_year' : 2023

}

A könyvmodell attribútumainak bemeneti adatainak megadása után létrehozunk egy „Könyv” példányt a megadott adatokkal ezen adatok felhasználásával; ez annak biztosítására szolgál, hogy a Pydantic automatikusan érvényesítse a bemenetet a meghatározott adatszerkezettel szemben. Ha bármilyen következetlenség vagy hiba van, például egy nem egész kiadási év vagy egy hiányzó cím, a Pydantic gyorsan felvet egy hibát és egy felhasználóbarát magyarázatot.

próbáld ki :

könyv = Könyv ( ** bemenet )

nyomtatás ( 'A könyv adatai:' , könyv. cím , könyv. szerző , könyv. kiadás_év )

kivéve Kivétel mint Ez:

nyomtatás ( 'Hiba:' , Ez )

A Pydantic adatosztályokkal tapasztalt továbbfejlesztett adatkezeléshez beépített mechanizmust kapunk az adatok ellenőrzésére és konzisztenciájára. Beépíthetjük az opcionális mezőket, az alapértelmezett értékeket és az összetett beágyazott struktúrákat a különböző adatforgatókönyvek lefedésére. Ez garantálja, hogy adataink rendszerezettek és helyesen formázottak maradnak.

Ez a lépés azt vizsgálja, hogy a Pydantic adatosztályok hogyan kínálnak továbbfejlesztett adatkezelési képességeket olyan szolgáltatások révén, mint az opcionális mezők, az alapértelmezett értékek és a beágyazott struktúrák.

Íme egy példa, ahol bemutatjuk, hogyan kell hozzáadni az opcionális mezőket és az alapértelmezett értékeket:

Tegyük fel, hogy lehetővé akarjuk tenni a felhasználók számára, hogy további részleteket adjanak meg a könyvekről, például a műfajt és a futási időt. Előfordulhat azonban, hogy ezek a részletek nem mindig állnak rendelkezésre. A Pydantic adatosztályokkal ezt könnyen elérhetjük, ha a mezőket nem kötelezővé tesszük, sőt az alapértelmezett értékeket is beállítjuk.

Ebben a példában a „Film” adatosztály két új mezőt tartalmaz: a nyelvet, amelyen a könyv íródott, és az oldalak számát. A „nyelv” mező alapértelmezett értéke „Ismeretlen”, ami azt jelzi, hogy ha a felhasználó nem adja meg ezt az adatot, akkor az alapértelmezett értéke „Ismeretlen”. Az „oldalak száma” mező nem kötelező, és üresen is hagyható (nincs értéke).

tól től pydantikus import BaseModel
osztály Könyv ( BaseModel ) :
cím: str
szerző: str
kiadás_év: int
nyelv: str = 'ismeretlen'
oldalak: int = Egyik sem
bemenet = {
'cím' : 'Szenvedni' ,
'szerző' : 'Ádám' ,
'release_year' : 2023 ,
'nyelv' : 'Angol' ,
'oldalak' : 2. 3. 4
}
könyv = Könyv ( ** bemenet )
nyomtatás ( 'A könyv adatai:' , könyv. cím , könyv. szerző , könyv. kiadás_év , könyv. nyelv , könyv. oldalakat )

Másolhatjuk ezeket a kódsorokat, és beilleszthetjük a fordítóba, hogy megfigyeljük az eredményeket:

tól től pydantikus import BaseModel
osztály Könyv ( BaseModel ) :
cím: str
szerző: str
kiadás_év: int
bemenet = {
'cím' : 'Szenvedni' ,
'szerző' : 'Ádám' ,
'release_year' : 2023
}

# Könyvpéldány létrehozása
próbáld ki :
könyv = Könyv ( ** bemenet )
nyomtatás ( 'A könyv adatai:' , könyv. cím , könyv. szerző , könyv. kiadás_év )
kivéve Kivétel mint Ez:
nyomtatás ( 'Hiba:' , Ez )

Ezen opcionális mezők és alapértelmezett értékek felvételével a Pydantic biztosítja, hogy az adatok jól strukturáltak és konzisztensek maradjanak akkor is, ha a felhasználók nem adnak meg bizonyos részleteket.

2. módszer: Adatkezelés Pydantic adatosztályával a hallgatói regisztrációs űrlaphoz

Képzelje el, hogy egy iskolai rendezvényre regisztrációs űrlapot készítünk. Az embereknek meg kell adniuk adataikat, és szeretnénk elkerülni a hibákat. Ebben segítenek a Pydantic adatosztályok. Gondoskodnak arról, hogy az adatok helyesek legyenek, és könnyen kezeljék azokat.

Miután bevittük a szükséges csomagokat a Python projektbe, definiálunk egy Pydantic adatosztályt úgy, hogy létrehozunk egy Pydantic adatosztályt „Student” néven a résztvevők adataihoz.

tól től pydantikus import BaseModel

Használja az osztálydekorátort a „Diák” osztály beállításához. A Pydantic's BaseModeltől örökölte. Belül elnevezzük az olyan attribútumokat, mint a név, e-mail cím, részleg és telefon, mindegyik adattípussal.

osztály Diák ( BaseModel ) :

név: str

email : str

osztály: str

telefon: str

A Pydantic adatosztály használatával most dolgozzon a „Student” adatosztállyal a tanulói adatok kezeléséhez:

info = {

'név' : 'XYZ' ,

'email' : 'xyz@student.com' ,

'osztály' : 'András' ,

'telefon' : '0003-4567234'

}

Ebben a részben úgy teszünk, mintha valaki jelentkezne. Amikor egy „tanuló” példányt készítünk az adataik felhasználásával, a Pydantic ellenőrzi, hogy illeszkedik-e a szerkezethez. Ha hiba történik, például egy „@” nélküli e-mail vagy nem karakterlánc-részleg, a Pydantic leállítja és elmagyarázza a problémát.

diák = Diák ( ** információ )

nyomtatás ( 'A tanuló adatai:' , diák )

A Pydantic adatosztályok segítségével továbbfejlesztett adatkezelés felhasználásra kész adatokat ad. Hozzáadhatunk további mezőket, beállíthatjuk az alapértelmezett értékeket, vagy dolgozhatunk összetett adatbeállításokkal. Mindez garantálja adataink rendszerezését.

A kódot és a kimenet részletét a következőkben említjük a megfigyeléshez:

tól től pydantikus import BaseModel

osztály Diák ( BaseModel ) :
név: str
email : str
osztály: str
telefon: str

info = {
'név' : 'XYZ' ,
'email' : 'xyz@student.com' ,
'osztály' : 'András' ,
'telefon' : '0003-4567234'
}
diák = Diák ( ** információ )
nyomtatás ( 'A tanuló adatai:' , diák )

A kimenet megfigyelése után összegezhetjük, hogy a Pydantic adatosztályok zökkenőmentessé teszik az adatok kezelését ebben az egyszerű példában. Gondoskodnak arról, hogy a bemenet megfeleljen a kívántnak. Ez kevesebb hibát és boldogabb felhasználókat jelent.

Következtetés

A pydantikus adatosztályok integrálják az adatok kezelését. Garantálják, hogy az információk pontosak és illeszkednek a kívánt szerkezethez. Ez kevesebb hibát és hibátlanabb alkalmazásokat jelent. A Pydantic segítségével a fejlesztők erőfeszítéseiket a jól működő alkalmazások létrehozására fordíthatják anélkül, hogy megzavarnák őket az adatokkal kapcsolatos problémák. Gondoljon úgy, hogy csak az adatok kezelésére van egy dedikált feladatkezelő, amely biztosítja, hogy minden zökkenőmentesen futjon az elejétől a végéig.