Как да подобрим обработката на данни с Pydantic класове данни

Kak Da Podobrim Obrabotkata Na Danni S Pydantic Klasove Danni



Pydantic класовете данни предлагат усъвършенствано решение за прецизиране на обработката на данни в Python. Работата като рамка за валидиране на данни опростява процеса на създаване на структурирани данни чрез интегрирането им с класове данни. Той автоматизира валидирането на данни, отчитането на грешки и преобразуването на типове данни. Това гарантира, че данните са в съответствие с посочените изисквания. Той също така поддържа стойностите по подразбиране, незадължителни полета и сложни структури от данни. Накратко, Pydantic класовете данни помагат на програмистите да оптимизират практиките за обработка на данни, което води до ефективни и надеждни резултати при кодиране.

Синтаксис:

Един прост, но ефективен начин за подобряване на начина, по който данните се управляват с помощта на Pydantic класове данни в Python, е чрез използване на декоратора на класове, с помощта на който по същество създаваме модел за това как трябва да изглеждат нашите данни. Това е като да дадем на нашите данни ясна структура. И така, синтаксисът за дефиниране на класа данни е както следва:







клас име на модела ( BaseModel )

„Model_name“ представя името на модела, който искаме да създадем, а „BaseModel“ от Pydantic действа като пазител, който гарантира, че данните следват зададените от нас правила и се предават на модела като негов входен параметър. Вътре в класа ние определяме какъв вид информация трябва да съдържа всяка част от данните. Този процес гарантира, че когато създаваме екземпляр на класа данни, информацията, която предоставяме, съответства на това, което сме дефинирали.



Метод 1: Подобрена обработка на данни с Dataclass на Pydantic

Представете си, че разработваме просто приложение за организиране на информацията за книги в нашата колекция. Искаме да гарантираме, че данните, които събираме за тази цел, са точни, последователни и добре структурирани. Това е мястото, където Pydantic класовете данни се намесват, за да опростят и подобрят процеса.



Започването с примера изисква дефиниране на Pydantic Dataclass. И така, започваме с дефиниране на Pydantic клас данни, наречен „Книги“, който представлява детайлите на Книгите. За да дефинираме класа данни за Pydantic, трябва да сме сигурни, че всички пакети на Pydantic са инсталирани преди проекта.





от пидантичен импортиране BaseModel

Използвайки декоратора на клас, ние създаваме класа „Книга“, наследявайки от BaseModel на Pydantic. Вътре в класа ние указваме атрибутите като заглавие, автор и година на издаване, всеки свързан със съответния тип данни.

клас Книга ( BaseModel ) :

заглавие: ул

автор: ул

година на издаване: вътр

След като създадем модел на клас, ние използваме класа данни Pydantic, като вземаме силата на класа данни „Книга“, за да обработваме данните за „филм“:



В този раздел ние имитираме потребител, който въвежда подробности относно книгата. Моделът на класа данни „книга“ има атрибути като заглавие, автор и година на издаване с техните отличителни типове данни. И така, в тази част, т.е. „вход“, ние определяме техните стойности.

вход = {

'заглавие' : 'страдам' ,

'автор' : 'Адам' ,

'година_на_издаване' : 2023 г

}

След спецификациите на подробностите за атрибутите на модела на книгата във входа, ние създаваме екземпляр „Книга“ с предоставените данни, използвайки тези подробности; това се прави, за да се гарантира, че Pydantic автоматично валидира входа спрямо дефинираната структура от данни. Ако има несъответствие или грешка, като година на издаване, която не е цяло число, или липсващо заглавие, Pydantic бързо извежда грешка заедно с удобно за потребителя обяснение.

опитвам :

Книга = Книга ( ** вход )

печат ( „Подробности за книгата:“ , Книга. заглавие , Книга. автор , Книга. година на издаване )

с изключение Изключение като То е:

печат ( 'Грешка:' , то е )

За опитното подобрено обработване на данни с Pydantic класове данни получаваме вграден механизъм за валидиране и съгласуваност на данните. Можем да включим незадължителните полета, стойностите по подразбиране и сложните вложени структури, за да покрием различните сценарии с данни. Това гарантира, че нашите данни остават организирани и правилно форматирани.

Тази стъпка изследва как класовете данни на Pydantic предлагат подобрени възможности за обработка на данни чрез функции като незадължителни полета, стойности по подразбиране и вложени структури.

Ето пример, в който показваме как да добавите незадължителните полета и стойностите по подразбиране:

Да предположим, че искаме да позволим на потребителите да въвеждат допълнителни подробности за книгите, като например жанр и време на изпълнение. Тези подробности обаче може да не са винаги налични. С Pydantic класове данни можем лесно да постигнем това, като направим полетата незадължителни и дори зададем стойностите по подразбиране.

В този пример класът данни „Филм“ включва две нови полета: езикът, на който е написана книгата, и броя на страниците. Полето „език“ има стойност по подразбиране „Неизвестно“, което показва, че ако потребителят не предостави тази информация, то по подразбиране е „Неизвестно“. Полето „брой страници“ не е задължително и може да бъде оставено празно (настроено на нито една).

от пидантичен импортиране BaseModel
клас Книга ( BaseModel ) :
заглавие: ул
автор: ул
година на издаване: вътр
език: ул = 'неизвестен'
страници: вътр = Нито един
вход = {
'заглавие' : 'страдам' ,
'автор' : 'Адам' ,
'година_на_издаване' : 2023 г ,
'език' : 'Английски' ,
'страници' : 2. 3. 4
}
Книга = Книга ( ** вход )
печат ( „Подробности за книгата:“ , Книга. заглавие , Книга. автор , Книга. година на издаване , Книга. език , Книга. страници )

Можем да копираме тези редове код и да ги поставим в компилатора, за да наблюдаваме резултатите:

от пидантичен импортиране BaseModel
клас Книга ( BaseModel ) :
заглавие: ул
автор: ул
година на издаване: вътр
вход = {
'заглавие' : 'страдам' ,
'автор' : 'Адам' ,
'година_на_издаване' : 2023 г
}

# Създаване на екземпляр на книга
опитвам :
Книга = Книга ( ** вход )
печат ( „Подробности за книгата:“ , Книга. заглавие , Книга. автор , Книга. година на издаване )
с изключение Изключение като То е:
печат ( 'Грешка:' , то е )

Като включва тези незадължителни полета и стойности по подразбиране, Pydantic гарантира, че данните остават добре структурирани и последователни, дори ако потребителите не предоставят определени подробности.

Метод 2: Обработка на данни с Dataclass на Pydantic за формуляра за регистрация на студент

Представете си, че правим регистрационен формуляр за училищно събитие. Хората трябва да въведат информацията си и искаме да избегнем грешки. Това е мястото, където Pydantic класовете данни помагат. Те се уверяват, че данните са правилни и се справят лесно с тях.

След като внесем необходимите пакети в проекта на Python, ние дефинираме клас данни на Pydantic, като създадем клас данни на Pydantic, наречен „Студент“ за подробности за участниците.

от пидантичен импортиране BaseModel

Използвайте декоратора на клас, за да настроите класа „Студент“. Той наследява от BaseModel на Pydantic. Вътре ние именуваме атрибутите като име, имейл, отдел и телефон, всеки със своя тип данни.

клас Студент ( BaseModel ) :

име: ул

електронна поща : ул

отдел: ул

телефон: ул

С използването на класа данни Pydantic сега, работете с класа данни „Студент“, за да управлявате данните на студентите:

инфо = {

'име' : 'XYZ' ,

'електронна поща' : 'xyz@student.com' ,

'отдел' : 'Андрю' ,

'телефон' : '0003-4567234'

}

В тази част се преструваме, че някой се записва. Когато направим екземпляр „Студент“, използвайки техните данни, Pydantic проверява дали отговаря на структурата. Ако има грешка, като имейл без „@“ или отдел без низ, Pydantic спира и обяснява проблема.

студент = Студент ( ** инфо )

печат ( „Подробности за ученика:“ , студент )

Подобрената обработка на данни с помощта на Pydantic класове данни ни дава готови за използване данни. Можем да добавим още полета, да зададем настройките по подразбиране или да работим със сложни настройки на данни. Всичко това гарантира, че нашите данни остават организирани.

Кодът и фрагментът на изхода са споменати в следното за наблюдението:

от пидантичен импортиране BaseModel

клас Студент ( BaseModel ) :
име: ул
електронна поща : ул
отдел: ул
телефон: ул

инфо = {
'име' : 'XYZ' ,
'електронна поща' : 'xyz@student.com' ,
'отдел' : 'Андрю' ,
'телефон' : '0003-4567234'
}
студент = Студент ( ** инфо )
печат ( „Подробности за ученика:“ , студент )

След като наблюдаваме изхода, можем да обобщим, че Pydantic класовете данни правят обработката на данните гладка в този прост пример. Те се уверяват, че входът отговаря на това, което искаме. Това означава по-малко грешки и по-щастливи потребители.

Заключение

Пидантичните класове данни интегрират начина, по който се справяме с данните. Те гарантират, че информацията е едновременно точна и отговаря на необходимата структура. Това означава по-малко грешки и повече безупречни приложения. С Pydantic разработчиците могат да посветят усилията си на създаване на добре работещи приложения, без да бъдат обезпокоявани от притеснения относно проблеми с данните. Мислете за това като за специален мениджър на задачите само за управление на данните, като гарантирате, че всичко върви гладко от началото до края.