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,内部规定一些字段,对这些字段执行校验,同时校验器还可以使用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!