当前位置: 首页 > news >正文

百度不收录新网站手机网站优化

百度不收录新网站,手机网站优化,搭建商城网站,端午节网站建设一、python的类型声明1、类型声明的背景和作用python 3.6 版本引入了“类型提示”1、类型提示是一种新的语法,用来声明变量的类型2、提高编译器和工具的支持能力为什么要学习类型提示1、了解类型提示不仅仅对使用FastAPI有帮助,也能提高代码的可读性度和…

一、python的类型声明

1、类型声明的背景和作用

python 3.6+ 版本引入了“类型提示”

1、类型提示是一种新的语法,用来声明变量的类型

2、提高编译器和工具的支持能力

为什么要学习类型提示

1、了解类型提示不仅仅对使用FastAPI有帮助,也能提高代码的可读性度和可靠性有很大的帮助

类型提示的好处

1、不改变原始运行结果

2、提供更好的编译器支持和代码补全

编译器支持

1、通过类型提示,编译器可以帮助检查代码中的错误

2、例如,将int类型的age转换为str类型

以下是类型声明语法的示例代码:

# python中类型声明# 变量类型的声明
a: int = 20
b: str = '11,22'
c: list = [11, 22]
print(a)# 函数的参数和返回值的类型声明
def work(a: int, b: int) -> int:return a+b# 若不是int类型则会报错
print(work(1, 1))
2、使用场景案例

1、变量的类型声明

name: str = '张三'
age: int = 18

2、函数参数的类型声明

def work(a: int, b: int):return a+b

3、函数返回值的类型声明

def work2(name: str, age: int) -> dict:return { "名字": name, "年龄": int }def work3(datas: list) -> dict:return dict(enumerate(datas))
3、复合类型的类型声明

上面的案例只对datas这个参数做了类型声明,对于datas中的数据并没有进行任何声明,那么这种复合类型的数据类型如何进行声明呢?需要使用typing标准库声明容器数据结构的类型和子类型

# 比如 我希望datas是列表嵌套字典的数据格式:[{"name":"张三"}, {"age": 18}, {"addr":"地址"}]from typing import List, Uniondef work4(datas: List[dict]) -> dict:print(datas)return {"data": datas}work4([{"name":"张三"}, {"age": 18}])def work5(datas: List[Union[str, int]]) -> dict:print(datas)return {"data": datas}work5(['名字', 18])
4、使用自定义类型声明
class Person:def __init__(self, name: str, age: int):self.name = nameself.age = agedef get_person_info(p: Person) -> dict:return {"名字": p.name, "年龄": p.age}p = Person("张三", 18)
print(get_person_info(p))

二、Pydantic模型

1、使用方法
# fastapi关于类型校验的参数模块pydantic----中的pydantic-core专门负责校验类型
# pip install fastapifrom pydantic import BaseModel, ValidationError class Student(BaseModel):name: strage: intsex: strdef work(stu: Student):print(stu.name)print(stu.age)print(stu.sex)if __name__ == '__main__':try:s = Student(name="张三", age=[18], sex="男")except ValidationError as e:print(e.json())

此时抛出的错误为:

PS D:\py> & c:/Users/judge/myenv/Scripts/python.exe d:/py/study-1.py
[{"type":"int_type","loc":["age"],"msg":"Input should be a valid integer","input":[18],"url":"https://errors.pydantic.dev/2.11/v/int_type"}]

2、pydantic模型对象的常用操作
# 1、转换为字典
print(p.dict())
# 2、获取部分字段
res = p.dict(include={'name', 'age'})
print(type(res), res)# 3、进行序列化---->json字符串
print(p.json())
# 4、进行反序列化---->对象 exclude
res2 = p.json(include={'name', 'age'})
print(type(res2), res2)

http://www.dtcms.com/a/471455.html

相关文章:

  • 手机网站源码 html5网站建设与维护的不足
  • 德鲁克管理哲学:管理是知行统一的实践创新
  • 做场景秀的网站电子商城网站建设费用
  • **标题:发散创新:探究TPU架构的深度解析**在现代计算领域,TPU(Tensor Processing Unit)架构以其
  • 郑州做网站的专业公司西安做网站哪家比较好
  • 网站建设与维护服务器学习网站开发
  • Facebook受众挖掘的高效方法
  • 怎么建自己的摄影网站我的世界怎么做购买点卷网站
  • CasADi mpc
  • 六盘水网站开发北京度seo排名
  • Linux小课堂: 文件系统结构与核心命令解析
  • 做京东网站需要哪些手续费濮阳网站建设知名公司排名
  • 辽宁城市建设职业技术学院教育网站wordpress搭建软件下载
  • 营销型网站案例专题页面设计模板
  • Coze源码分析-资源库-编辑数据库-前端源码-核心组件
  • 如何创建一个论坛网站海南省交通建设局网站首页
  • 2025年生物学、农业与污染控制技术国际会议(BAPCT 2025)
  • 【全志V821_FoxPi】6-3 GC2083 MIPI摄像头适配
  • 东莞做网站哪家最好营销与销售的区别
  • 动态效果的网站建设技术网站开发技术分享ppt
  • 建设网站服务器选择html在线编辑器网页手机
  • 网站开发毕业设计开题报告跨境电商开发公司
  • 遂平县网站建设网页后台设计师工资一般多少
  • URL 设计
  • 档案网站的建设企业网站建立流程
  • 【OpenGauss】知识总结
  • 海淀教育人才网站网站系统正在升级维护
  • 各种不同光谱工业相机的特性的详细介绍
  • Java学习之旅第二季-21:记录
  • 自己建设网站怎么被百度收入外国人做网站