举个简单的例子来说下pydantic
时间: 2024-04-29 09:21:06 浏览: 68
C语言程序设计100个简单的经典例子.rar_C语言程序设计100个简单的经典例子
假设我们有一个Person类,其中包含名字、年龄和电子邮件地址等属性。我们可以使用pydantic来定义这个类的模型,如下所示:
```python
from pydantic import BaseModel, EmailStr
class Person(BaseModel):
name: str
age: int
email: EmailStr
```
在上面的代码中,我们定义了一个名为Person的类,它继承自pydantic的BaseModel。在Person类中,我们定义了三个属性:name、age和email。name属性是一个字符串类型,age属性是一个整数类型,email属性是一个EmailStr类型,它已经内置了电子邮件地址验证的功能。
使用pydantic的好处是,它可以轻松地对输入数据进行验证和转换,从而避免了一些常见的错误。例如,如果我们将一个无效的电子邮件地址传递给Person类的实例,pydantic会自动引发一个ValidationError异常,告诉我们输入数据不符合预期。
```python
person = Person(name="John", age=30, email="invalid_email")
# Raises a ValidationError: value is not a valid email address (type=value_error.email)
```
另外,如果我们想将一个字典转换为Person类的实例,也可以使用pydantic的parse_obj方法,如下所示:
```python
data = {"name": "John", "age": 30, "email": "john@example.com"}
person = Person.parse_obj(data)
```
这样,我们就可以轻松地使用pydantic来定义和验证数据模型。
阅读全文