Python 代码的运行时检查与可扩展性设计
1. Pydantic 的运行时检查
Pydantic 是一个强大的库,它主要用于数据解析而非验证。例如以下代码:
Model(value="123") # value is set to the integer 123
Model(value=5.5) # this truncates the value to 5
在上述代码中,传入的值不一定是整数,但 Pydantic 会将其解析为整数输出(或者抛出异常)。不过,如果想要限制这种行为,可以使用 Pydantic 的严格字段。示例如下:
from pydantic.dataclasses import dataclass
from pydantic import StrictInt
@dataclass
class Model:
value: StrictInt
x = Model(value="0023").value
运行上述代码会报错:
pydantic.error_wrappers.ValidationError: 1 validation error for Model
value
value is not a valid integer (type=type_error.integer)
Pydantic 虽宣传自己是解析库,但也能在
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



