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,内部规定一些字段,对这些字段执行校验,同时校验器还可以使用