徐州网站优化溧阳市建设网站

张小明 2026/3/13 3:06:03
徐州网站优化,溧阳市建设网站,安全的网站建,北京互联网公司排名100强typing模块里常用的类型注解工具#xff0c;和 Python 3.9 原生类型的对应关系及用法如下#xff0c;刚好能匹配你之前的答题系统场景#xff1a;typing 类型Python 3.9 原生写法作用说明示例List[T]list[T]标注元素类型为 T 的列表answers: list[SingleAnswer]Dict[K, V]di…typing模块里常用的类型注解工具和 Python 3.9 原生类型的对应关系及用法如下刚好能匹配你之前的答题系统场景typing类型Python 3.9 原生写法作用说明示例List[T]list[T]标注元素类型为 T 的列表answers: list[SingleAnswer]Dict[K, V]dict[K, V]标注键类型 K、值类型 V 的字典score: dict[str, int]Tuple[T1, T2]tuple[T1, T2]标注固定长度和类型的元组q_and_a: tuple[int, str]Set[T]set[T]标注元素类型为 T 的集合options: set[str]Optional[T]TNone标注变量可以是 T 类型或 Noneremark: strNone NoneUnion[T1, T2]T1T2标注变量可以是 T1 或 T2 类型value: intstrLiteral[val1, val2]Literal[val1, val2]标注变量只能是 val1、val2 等值option: Literal[A, B, C, D]Callable[[ArgT], RetT]Callable[[ArgT], RetT]标注函数类型参数类型 返回值类型func: Callable[[int], bool]补充说明Python 3.9 是个分水岭之后可以直接用原生的list/dict代替List/Dict但Literal/Callable这类特殊类型还是要从typing导入Python 3.10 可从typing或types导入。这些类型注解不影响代码运行主要是给 IDE 做提示、给开发者看搭配 Pydantic 时还能用来做数据校验。# 导入dataclass装饰器 from dataclasses import dataclass # 普通 class 写法 class CommonProduct: 普通类需要手动实现 __init__、__repr__、__eq__ 等魔法方法 # 1. 手动写初始化方法接收参数并赋值给实例属性 def __init__(self, name: str, price: float, stock: int): self.name name self.price price self.stock stock # 2. 手动写 __repr__ 方法控制实例打印时的输出格式方便调试 def __repr__(self): return fCommonProduct(name{self.name}, price{self.price}, stock{self.stock}) # 3. 手动写 __eq__ 方法定义两个实例的相等判断规则 def __eq__(self, other): # 先判断 other 是否是 CommonProduct 类型 if not isinstance(other, CommonProduct): return False # 当 name、price、stock 都相同时两个实例才相等 return (self.name other.name and self.price other.price and self.stock other.stock) # dataclass 写法 dataclass # 装饰器自动生成 __init__、__repr__、__eq__ 等方法 class DataProduct: dataclass 写法无需手动编写魔法方法只需定义字段和类型注解 name: str # 商品名称 price: float # 商品价格 stock: int # 商品库存 # 测试对比 if __name__ __main__: # 1. 测试普通类 p1 CommonProduct(T恤, 59.9, 100) p2 CommonProduct(T恤, 59.9, 100) print(普通类实例打印:, p1) # 调用 __repr__ print(普通类实例相等判断:, p1 p2) # 调用 __eq__输出 True print(- * 50) # 2. 测试 dataclass dp1 DataProduct(牛仔裤, 129.9, 50) dp2 DataProduct(牛仔裤, 129.9, 50) print(dataclass实例打印:, dp1) # 自动生成的 __repr__ print(dataclass实例相等判断:, dp1 dp2) # 自动生成的 __eq__输出 Trueeq它的本质就是比对两个类的值是否相等当然了只能比对整体不能单个比对 就算一个不相等它也是返回false repr它是默认会打印出你传入参数值 方便调试 dataclss会自动创建省得你手动 而且只要是传参的类都建议用dataclass 这样省去写__init__ repr就算地址不同 但是值相同就是一致的 但是他的只是属于类型提示 并不能校验 并不会报错 对于后端写api的建议使用pydantic他会校验传入的值 如果类型不对会进行报错from pydantic import BaseModel, Field, ValidationError from typing import Literal # 方法1用Literal直接限定只能是A、B、C、D class SingleAnswer(BaseModel): question_id: int option: Literal[A, B, C, D] # 只能选这四个选项 # 方法2用正则表达式校验适合更灵活的情况比如允许小写a-d class SingleAnswerWithRegex(BaseModel): question_id: int option: str Field(patternr^[A-Da-d]$) # 正则匹配A-D或a-d # 测试正确的情况 correct_ans SingleAnswer(question_id1, optionA) print(correct_ans) # 正常输出 # 测试错误的情况选项为E try: wrong_ans SingleAnswer(question_id2, optionE) except ValidationError as e: print(e) # 会提示选项必须是A、B、C、D中的一个
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

住房和城乡建设部标准定额司网站单位做网站需要多少钱

系统编程中的线程应用与错误处理 在系统编程中,线程的使用和错误处理是非常重要的部分。下面将介绍几个线程相关的示例以及不同的错误处理方法。 1. 线程并行计算示例 首先是一个利用线程进行并行计算的示例,这里以寻找素数为例。 编译和测试步骤 编译代码需要使用相同的…

张小明 2026/3/5 2:43:53 网站建设

wordpress名站中职网站建设与维护考试题

Kotaemon数据可视化建议:图表类型智能推荐 在金融、医疗或教育等行业,每天都有大量非结构化文本和表格数据产生。业务人员常常面临一个看似简单却极具挑战的问题:面对一组数据,到底该用柱状图、折线图还是饼图来展示?尤…

张小明 2026/3/5 5:23:41 网站建设

做中英文游戏门户网站关键词怎么弄制作网站商城

实时语音换脸同步技术:配合EmotiVoice打造数字人 在虚拟主播深夜直播带货、AI客服温柔安抚用户情绪的今天,我们早已不再满足于一个“会说话”的数字人。真正打动人的,是那个语气起伏间流露出惊喜或关切的“类人存在感”——声音有情感&#x…

张小明 2026/3/5 2:43:52 网站建设

秦皇岛网站推广排名网页设计与制作教程免费

终极指南:使用Quasar远程管理工具高效管理Windows系统 【免费下载链接】Quasar Remote Administration Tool for Windows 项目地址: https://gitcode.com/gh_mirrors/qua/Quasar 想要轻松管理多台Windows电脑并提升工作效率吗?Quasar作为一款功能…

张小明 2026/3/5 2:43:51 网站建设

dedecms新网站 上传到万网的空间辽阳企业网站建设服务

在当今数字化转型的浪潮中,智慧物流系统集成与智能工厂的紧密连接,正成为企业提升竞争力的重要途径。本文将探讨这两者如何通过智能制造解决方案与半导体生产线自动化的协同效应,共同推动生产效率的提升。随着行业需求的发展,通过…

张小明 2026/3/5 2:43:56 网站建设

建立个人网站要钱吗模版网站搭建

Wan2.2-T2V-5B本地化部署成本测算:一台2020 DIY主机足矣 在短视频内容爆炸式增长的今天,创作者对“快速生成、即时反馈”的视频生产工具需求愈发迫切。然而,主流文本到视频(Text-to-Video, T2V)模型动辄依赖A100集群和…

张小明 2026/3/5 2:43:57 网站建设