Pydantic 是一个用于数据验证和解析的 Python 库。它提供了一个 create_model 函数,用于动态创建数据模型。
create_model 函数的功能是根据给定的字段和类型参数创建一个数据模型类。它接受三个参数:
name:数据模型的名称。
**fields:一个字典,其中键是字段名,值是字段类型。字段类型可以是任何合法的 Python 类型,也可以是 Pydantic 提供的特定字段类型(如 str、int、float、bool 等)。
**extra:一个字典,用于指定其他模型选项,如 validators、allow_mutation 等。
以下是一个使用 create_model 的简单示例:
from pydantic import create_model
创建一个数据模型
Person = create_model(“Person”, name=str, age=int, email=str)
创建一个实例
person = Person(name=“Alice”, age=25, email=“alice@example.com”)
打印实例的属性
print(person.name) # 输出: Alice
print(person.age) # 输出: 25
print(person.email) # 输出: alice@example.com
在上面的示例中,我们使用 create_model 创建了一个名为 Person 的数据模型,它有三个字段:name、age 和 email,分别是字符串、整数和字符串类型。然后,我们使用该数据模型创建了一个实例,并访问了实例的属性。
除了字段类型,create_model 还支持其他模型选项,如 validators、allow_mutation 等,可以在 **extra 参数中进行指定。例如:
from pydantic import create_model, Field
创建一个带有验证器和默认值的数据模型
Person = create_model(
“Person”,
name=Field(str, description=“Name of the person”),
age=Field(int, gt=0, description=“Age of the person”),
email=Field(str, regex=r"^\S+@\S+.\S+$", description=“Email of the person”),
)
在上面的示例中,我们使用 Field 类来指定字段的类型和其他选项。Field 类可以用于指定验证器(如 gt、lt、regex 等)和字段描述。
总结一下,create_model 函数是 Pydantic 提供的一个方便的工具,可以根据给定的字段和类型参数动态创建数据模型类,从而实现数据验证和解析的功能。