Jak ulepszyć obsługę danych za pomocą klas danych Pydantic

Jak Ulepszyc Obsluge Danych Za Pomoca Klas Danych Pydantic



Klasy danych Pydantic oferują zaawansowane rozwiązanie umożliwiające udoskonalenie obsługi danych w Pythonie. Praca w charakterze platformy walidacji danych upraszcza proces tworzenia ustrukturyzowanych danych poprzez integrację ich z klasami danych. Automatyzuje walidację danych, raportowanie błędów i konwersję typów danych. Dzięki temu dane są zgodne z określonymi wymaganiami. Obsługuje także wartości domyślne, pola opcjonalne i złożone struktury danych. Krótko mówiąc, klasy danych Pydantic pomagają programistom optymalizować praktyki obsługi danych, co prowadzi do skutecznych i niezawodnych wyników kodowania.

Składnia:

Prostym, ale skutecznym sposobem na ulepszenie sposobu zarządzania danymi przy użyciu klas danych Pydantic w Pythonie jest użycie dekoratora klas, za pomocą którego zasadniczo tworzymy model tego, jak powinny wyglądać nasze dane. To tak, jakby nadać naszym danym przejrzystą strukturę. Zatem składnia definiująca klasę danych jest następująca:







klasa Nazwa modelu ( Model podstawowy )

„Nazwa_modelu” przedstawia nazwę modelu, który chcemy stworzyć, a „BaseModel” z Pydantic pełni rolę strażnika, który pilnuje, aby dane przestrzegały ustalonych przez nas reguł i były przekazywane do modelu jako parametr wejściowy. Wewnątrz klasy definiujemy, jakiego rodzaju informacje powinien zawierać każdy element danych. Proces ten gwarantuje, że kiedy tworzymy instancję klasy danych, podawane przez nas informacje będą zgodne z tym, co zdefiniowaliśmy.



Metoda 1: Ulepszona obsługa danych za pomocą klasy danych Pydantic

Wyobraź sobie, że tworzymy prostą aplikację do porządkowania informacji o książkach w naszej kolekcji. Chcemy mieć pewność, że dane, które zbieramy w tym celu, są dokładne, spójne i dobrze zorganizowane. W tym miejscu wkraczają klasy danych Pydantic, aby uprościć i ulepszyć proces.



Rozpoczęcie od przykładu wymaga zdefiniowania klasy danych Pydantic. Zaczynamy więc od zdefiniowania klasy danych Pydantic o nazwie „Książki”, która reprezentuje szczegóły Książek. Aby zdefiniować klasę danych dla Pydantic, musimy upewnić się, że wszystkie pakiety Pydantic są zainstalowane przed projektem.





z pydantyczny import Model podstawowy

Korzystając z dekoratora klas, tworzymy klasę „Book” dziedziczącą z BaseModel Pydantic. Wewnątrz klasy określamy atrybuty, takie jak tytuł, autor i rok_wydania, każdy powiązany z odpowiednim typem danych.

klasa Książka ( Model podstawowy ) :

tytuł: ul

autor: ul

rok wydania: wew

Po utworzeniu modelu klasowego korzystamy z klasy danych Pydantic, wykorzystując moc klasy danych „Book” do obsługi danych „filmowych”:



W tej sekcji naśladujemy użytkownika wprowadzającego szczegóły dotyczące książki. Model klasy danych „książka” ma atrybuty takie jak tytuł, autor i rok wydania wraz z ich charakterystycznymi typami danych. Zatem w tej części, czyli „wejściowej”, podajemy ich wartości.

wejście = {

'tytuł' : 'Cierpieć' ,

'autor' : „Adam” ,

'rok wydania' : 2023

}

Po określeniu na wejściu szczegółów dotyczących atrybutów modelu księgi, tworzymy instancję „Książka” z dostarczonymi danymi przy użyciu tych szczegółów; ma to na celu zapewnienie, że Pydantic automatycznie sprawdza poprawność danych wejściowych względem zdefiniowanej struktury danych. Jeśli wystąpi jakakolwiek niespójność lub błąd, na przykład rok wydania nie będący liczbą całkowitą lub brakujący tytuł, Pydantic szybko zgłosi błąd wraz z przyjaznym dla użytkownika wyjaśnieniem.

próbować :

książka = Książka ( ** wejście )

wydrukować ( „Szczegóły książki:” , książka. tytuł , książka. autor , książka. rok wydania )

z wyjątkiem Wyjątek Jak To jest:

wydrukować ( 'Błąd:' , To jest )

Aby zapewnić doświadczoną, ulepszoną obsługę danych za pomocą klas danych Pydantic, otrzymujemy wbudowany mechanizm sprawdzania poprawności i spójności danych. Możemy włączyć opcjonalne pola, wartości domyślne i złożone struktury zagnieżdżone, aby uwzględnić różne scenariusze danych. Gwarantuje to, że nasze dane pozostaną uporządkowane i prawidłowo sformatowane.

W tym kroku badamy, w jaki sposób klasy danych Pydantic oferują ulepszone możliwości obsługi danych za pomocą takich funkcji, jak pola opcjonalne, wartości domyślne i struktury zagnieżdżone.

Oto przykład, w którym pokazujemy, jak dodać pola opcjonalne i wartości domyślne:

Załóżmy, że chcemy pozwolić użytkownikom na wprowadzenie dodatkowych szczegółów na temat książek, takich jak gatunek i czas wydania. Jednak te szczegóły mogą nie zawsze być dostępne. Dzięki klasom danych Pydantic możemy to łatwo osiągnąć, czyniąc pola opcjonalnymi, a nawet ustawiając wartości domyślne.

W tym przykładzie klasa danych „Film” zawiera dwa nowe pola: język, w którym napisano książkę i liczbę stron. Pole „język” ma domyślną wartość „Nieznany”, co oznacza, że ​​jeśli użytkownik nie poda tych szczegółów, domyślnie będzie to „Nieznany”. Pole „liczba stron” jest opcjonalne i można je pozostawić puste (ustawić na brak).

z pydantyczny import Model podstawowy
klasa Książka ( Model podstawowy ) :
tytuł: ul
autor: ul
rok wydania: wew
język: ul = 'nieznany'
strony: wew = Nic
wejście = {
'tytuł' : 'Cierpieć' ,
'autor' : „Adam” ,
'rok wydania' : 2023 ,
'język' : 'Język angielski' ,
„strony” : 2. 3. 4
}
książka = Książka ( ** wejście )
wydrukować ( „Szczegóły książki:” , książka. tytuł , książka. autor , książka. rok wydania , książka. język , książka. strony )

Możemy skopiować te linie kodu i wkleić je do kompilatora, aby obserwować wyniki:

z pydantyczny import Model podstawowy
klasa Książka ( Model podstawowy ) :
tytuł: ul
autor: ul
rok wydania: wew
wejście = {
'tytuł' : 'Cierpieć' ,
'autor' : „Adam” ,
'rok wydania' : 2023
}

# Tworzenie instancji książki
próbować :
książka = Książka ( ** wejście )
wydrukować ( „Szczegóły książki:” , książka. tytuł , książka. autor , książka. rok wydania )
z wyjątkiem Wyjątek Jak To jest:
wydrukować ( 'Błąd:' , To jest )

Uwzględniając te opcjonalne pola i wartości domyślne, Pydantic gwarantuje, że dane pozostaną dobrze zorganizowane i spójne, nawet jeśli użytkownicy nie podają pewnych szczegółów.

Metoda 2: Obsługa danych za pomocą klasy danych Pydantic dla formularza rejestracji ucznia

Wyobraź sobie, że tworzymy formularz rejestracyjny na wydarzenie szkolne. Ludzie muszą podawać swoje dane, a my chcemy uniknąć błędów. W tym właśnie pomagają klasy danych Pydantic. Dbają o to, aby dane były prawidłowe i łatwo sobie z nimi radzą.

Po dostarczeniu niezbędnych pakietów do projektu Python definiujemy klasę danych Pydantic, tworząc klasę danych Pydantic o nazwie „Student” dla szczegółów uczestnika.

z pydantyczny import Model podstawowy

Użyj dekoratora klas, aby skonfigurować klasę „Student”. Dziedziczy z BaseModel firmy Pydantic. Wewnątrz nazywamy atrybuty, takie jak imię i nazwisko, adres e-mail, dział i telefon, każdy z własnym typem danych.

klasa Student ( Model podstawowy ) :

nazwa: ul

e-mail : ul

dział: ul

telefon: ul

Korzystając teraz z klasy danych Pydantic, pracuj z klasą danych „Student”, aby zarządzać danymi uczniów:

informacje = {

'nazwa' : „XYZ” ,

'e-mail' : „xyz@student.com” ,

'dział' : 'Andrzej' ,

'telefon' : „0003-4567234”

}

W tej części udajemy, że ktoś się rejestruje. Kiedy tworzymy instancję „Studenta” z wykorzystaniem jej danych, Pydantic sprawdza, czy pasuje ona do struktury. Jeśli wystąpi błąd, na przykład wiadomość e-mail bez „@” lub dział inny niż ciąg znaków, Pydantic zatrzymuje się i wyjaśnia problem.

student = Student ( **informacje )

wydrukować ( „Dane ucznia:” , student )

Ulepszona obsługa danych przy użyciu klas danych Pydantic daje nam dane gotowe do użycia. Możemy dodać więcej pól, ustawić wartości domyślne lub pracować ze złożonymi konfiguracjami danych. Wszystko to gwarantuje, że nasze dane będą uporządkowane.

Kod i fragment danych wyjściowych są wymienione poniżej w celach obserwacyjnych:

z pydantyczny import Model podstawowy

klasa Student ( Model podstawowy ) :
nazwa: ul
e-mail : ul
dział: ul
telefon: ul

informacje = {
'nazwa' : „XYZ” ,
'e-mail' : „xyz@student.com” ,
'dział' : 'Andrzej' ,
'telefon' : „0003-4567234”
}
student = Student ( **informacje )
wydrukować ( „Dane ucznia:” , student )

Po obejrzeniu wyników możemy podsumować, że w tym prostym przykładzie klasy danych Pydantic umożliwiają płynną obsługę danych. Dbają o to, aby dane wejściowe odpowiadały naszym oczekiwaniom. Oznacza to mniej błędów i szczęśliwszych użytkowników.

Wniosek

Klasy danych Pydantic integrują sposób, w jaki postępujemy z danymi. Gwarantują, że informacja jest zarówno dokładna, jak i pasuje do wymaganej struktury. Przekłada się to na mniej błędów i więcej bezbłędnych aplikacji. Dzięki Pydantic programiści mogą skoncentrować się na tworzeniu dobrze działających aplikacji, nie martwiąc się problemami związanymi z danymi. Pomyśl o tym jak o dedykowanym menedżerze zadań przeznaczonym wyłącznie do zarządzania danymi i zapewniającym, że wszystko działa płynnie od początku do końca.