pydantic初探

数据校验的的专业工作请看pydantic

 1 from pydantic import BaseModel, conint, ValidationError
 2 
 3 
 4 class NumVerify(BaseModel):
 5     # 限定范围
 6     expected_number: conint(ge=0, le=100)
 7 
 8 
 9 def input_number():
10     while True:
11         number = input(">>请输入:")
12         try:
13             number_input = NumVerify(expected_number=number)
14         except ValidationError as e:
15             print(e)
16             continue
17         else:
18             number = number_input.expected_number
19             break
20     print(">>your number is {}".format(number))
21 
22 
23 if __name__ == '__main__':
24     input_number()

output: 

  >>请输入:-89
  1 validation error for NumVerify
  expected_number
  ensure this value is greater than or equal to 0 (type=value_error.number.not_ge; limit_value=0)
  >>请输入:101
  1 validation error for NumVerify
  expected_number
  ensure this value is less than or equal to 100 (type=value_error.number.not_le; limit_value=100)
  >>请输入:10
  >>your number is 10

 

还可以定义一个数据模型,继承自BaseModel,内部规定一些字段,对这些字段执行校验,同时校验器还可以使用

posted on 2022-11-16 22:41  默玖  阅读(55)  评论(0编辑  收藏  举报

导航