Com millorar el maneig de dades amb classes de dades Pydantic

Com Millorar El Maneig De Dades Amb Classes De Dades Pydantic



Les classes de dades Pydantic ofereixen una solució avançada per refinar el maneig de dades a Python. Treballar com a marc de validació de dades simplifica el procés de creació de dades estructurades integrant-les amb classes de dades. Automatitza la validació de dades, els informes d'errors i les conversions de tipus de dades. Això garanteix que les dades s'alineen amb els requisits especificats. També admet els valors predeterminats, els camps opcionals i les estructures de dades complexes. En resum, les classes de dades Pydantic ajuden els programadors a optimitzar les pràctiques de maneig de dades, donant lloc a resultats de codificació eficaços i fiables.

Sintaxi:

Una manera senzilla però eficaç de millorar com es gestionen les dades mitjançant les classes de dades de Pydantic a Python és utilitzar el decorador de classes amb l'ajuda del qual, essencialment, creem un model de com haurien de ser les nostres dades. És com donar una estructura clara a les nostres dades. Per tant, la sintaxi per definir la classe de dades és la següent:







classe nom_model ( Model base )

El 'nom_model' presenta el nom del model que volem crear i el 'BaseModel' de Pydantic actua com un tutor que assegura que les dades segueixen les regles que establim i es passen al model com a paràmetre d'entrada. Dins de la classe, definim quin tipus d'informació ha de contenir cada dada. Aquest procés assegura que quan creem una instància de la classe de dades, la informació que proporcionem coincideixi amb la que hem definit.



Mètode 1: maneig de dades millorat amb la classe de dades de Pydantic

Imagineu que estem desenvolupant una aplicació senzilla per organitzar la informació sobre llibres de la nostra col·lecció. Volem assegurar-nos que les dades que recollim amb aquesta finalitat siguin precises, coherents i ben estructurades. Aquí és on les classes de dades de Pydantic intervenen per simplificar i millorar el procés.



Començar amb l'exemple requereix definir una classe de dades Pydantic. Per tant, comencem definint una classe de dades Pydantic anomenada 'Llibres' que representa els detalls dels llibres. Per definir la classe de dades per a Pydantic, ens hem d'assegurar que tots els paquets de Pydantic estiguin instal·lats abans al projecte.





des de pidant importar Model base

Utilitzant el decorador de classes, creem la classe 'Llibre' hereta del BaseModel de Pydantic. Dins de la classe, especifiquem els atributs com title, author i release_year, cadascun associat amb el seu tipus de dades respectiu.

classe Llibre ( Model base ) :

títol: str

autor: str

any_alliberament: int

Després de crear un model de classe, utilitzem la classe de dades Pydantic, prenent el poder de la classe de dades 'Llibre' per gestionar les dades de la 'pel·lícula':



En aquesta secció, imitem un usuari que introdueix els detalls del llibre. El model de la classe de dades 'llibre' té els atributs com el títol, l'autor i l'any de llançament amb els seus tipus de dades distintius. Per tant, en aquesta part, és a dir, 'entrada', n'especifiquem els valors.

entrada = {

'títol' : 'Patir' ,

'autor' : 'Adam' ,

'any_de_estrena' : 2023

}

Després de les especificacions dels detalls sobre els atributs del model de llibre a l'entrada, creem una instància de 'Llibre' amb les dades proporcionades utilitzant aquests detalls; això es fa per garantir que Pydantic validi automàticament l'entrada amb l'estructura de dades definida. Si hi ha alguna incoherència o error, com ara un any de llançament no sencer o un títol que falta, Pydantic genera ràpidament un error juntament amb una explicació fàcil d'utilitzar.

provar :

llibre = Llibre ( ** entrada )

imprimir ( 'Detalls del llibre:' , llibre. títol , llibre. autor , llibre. any_alliberament )

excepte Excepció com És:

imprimir ( 'Error:' , És )

Per al maneig de dades millorat amb experiència amb classes de dades Pydantic, rebem un mecanisme integrat per a la validació i la coherència de les dades. Podem incorporar els camps opcionals, els valors per defecte i les estructures imbricades complexes per cobrir els diferents escenaris de dades. Això garanteix que les nostres dades romanguin organitzades i formatades correctament.

Aquest pas explora com les classes de dades Pydantic ofereixen capacitats de gestió de dades millorades mitjançant funcions com camps opcionals, valors predeterminats i estructures imbricades.

Aquí teniu un exemple on mostrem com afegir els camps opcionals i els valors predeterminats:

Suposem que volem permetre als usuaris introduir els detalls addicionals sobre els llibres, com ara el gènere i el temps d'execució. Tanmateix, és possible que aquests detalls no estiguin sempre disponibles. Amb les classes de dades Pydantic, ho podem aconseguir fàcilment fent que els camps siguin opcionals i fins i tot establint els valors predeterminats.

En aquest exemple, la classe de dades 'Película' inclou dos camps nous: l'idioma en què està escrit el llibre i el nombre de pàgines. El camp 'idioma' té un valor predeterminat de 'Desconegut', que indica que si l'usuari no proporciona aquest detall, el valor predeterminat és 'Desconegut'. El camp 'nombre de pàgines' és opcional i es pot deixar en blanc (establir a cap).

des de pidant importar Model base
classe Llibre ( Model base ) :
títol: str
autor: str
any_alliberament: int
llenguatge: str = 'desconegut'
pàgines: int = Cap
entrada = {
'títol' : 'Patir' ,
'autor' : 'Adam' ,
'any_de_estrena' : 2023 ,
'llenguatge' : 'anglès' ,
'pàgines' : 234
}
llibre = Llibre ( ** entrada )
imprimir ( 'Detalls del llibre:' , llibre. títol , llibre. autor , llibre. any_alliberament , llibre. llenguatge , llibre. pàgines )

Podem copiar aquestes línies de codi i enganxar-les al compilador per observar els resultats:

des de pidant importar Model base
classe Llibre ( Model base ) :
títol: str
autor: str
any_alliberament: int
entrada = {
'títol' : 'Patir' ,
'autor' : 'Adam' ,
'any_de_estrena' : 2023
}

# Creació d'una instància de llibre
provar :
llibre = Llibre ( ** entrada )
imprimir ( 'Detalls del llibre:' , llibre. títol , llibre. autor , llibre. any_alliberament )
excepte Excepció com És:
imprimir ( 'Error:' , És )

En incloure aquests camps opcionals i valors predeterminats, Pydantic assegura que les dades es mantenen ben estructurades i coherents encara que els usuaris no proporcionin certs detalls.

Mètode 2: Tractament de dades amb Dataclass de Pydantic per al formulari d'inscripció de l'estudiant

Imagineu que estem fent un formulari d'inscripció per a un esdeveniment escolar. La gent ha d'introduir la seva informació i volem evitar errors. Aquí és on ajuden les classes de dades Pydantic. S'asseguren que les dades siguin correctes i les gestionen fàcilment.

Després de portar els paquets necessaris al projecte Python, definim una classe de dades Pydantic creant una classe de dades Pydantic anomenada 'Estudiant' per als detalls dels participants.

des de pidant importar Model base

Utilitzeu el decorador de classe per configurar la classe 'Estudiant'. Hereta del BaseModel de Pydantic. A l'interior, anomenem els atributs com el nom, el correu electrònic, el departament i el telèfon, cadascun amb el seu tipus de dades.

classe Estudiant ( Model base ) :

nom: str

correu electrònic : str

departament: str

telèfon: str

Amb l'ús de la classe de dades Pydantic ara, treballeu amb la classe de dades 'Estudiant' per gestionar les dades de l'estudiant:

informació = {

'nom' : 'XYZ' ,

'correu electrònic' : 'xyz@student.com' ,

'departament' : 'Andrew' ,

'telèfon' : '0003-4567234'

}

En aquesta part, pretenem que algú s'inscrigui. Quan fem una instància 'Estudiant' utilitzant les seves dades, Pydantic comprova si s'adapta a l'estructura. Si hi ha un error, com un correu electrònic sense '@' o un departament sense cadena, Pydantic s'atura i explica el problema.

estudiant = Estudiant ( **informació )

imprimir ( 'Detalls de l'estudiant:' , estudiant )

El maneig de dades millorat mitjançant classes de dades Pydantic ens ofereix dades llestes per utilitzar. Podem afegir més camps, establir els valors predeterminats o treballar amb configuracions de dades complexes. Tot això garanteix que les nostres dades es mantinguin organitzades.

El codi i el fragment de la sortida s'esmenten a continuació per a l'observació:

des de pidant importar Model base

classe Estudiant ( Model base ) :
nom: str
correu electrònic : str
departament: str
telèfon: str

informació = {
'nom' : 'XYZ' ,
'correu electrònic' : 'xyz@student.com' ,
'departament' : 'Andrew' ,
'telèfon' : '0003-4567234'
}
estudiant = Estudiant ( **informació )
imprimir ( 'Detalls de l'estudiant:' , estudiant )

Després d'observar la sortida, podem resumir que les classes de dades de Pydantic permeten gestionar les dades sense problemes en aquest exemple senzill. S'asseguren que l'entrada coincideix amb el que volem. Això significa menys errors i usuaris més feliços.

Conclusió

Les classes de dades Pydantic integren com tractem les dades. Garantixen que la informació és precisa i s'ajusta a l'estructura requerida. Això es tradueix en menys errors i aplicacions més impecables. Amb Pydantic, els desenvolupadors poden dedicar els seus esforços a crear aplicacions que funcionin bé sense que els molestin els problemes de dades. Penseu en això com tenir un gestor de tasques dedicat només per gestionar les dades, assegurant-vos que tot funcioni sense problemes de principi a fi.