网站建设的类型或分类网站开发的前后台的步骤分别为

张小明 2026/1/11 12:32:38
网站建设的类型或分类,网站开发的前后台的步骤分别为,江西论坛,赤峰网站开发公司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进行投诉反馈,一经查实,立即删除!

住房城乡建设部门户网站做期货应该看的网站

EmotiVoice:让AI语音说出“心”里话 你有没有想过,有一天AI不仅能说话,还能带着情绪、语气,甚至像老朋友一样用你熟悉的声音和你聊天?这不再是科幻电影里的桥段——网易有道算法团队开源的 EmotiVoice(中文…

张小明 2026/1/9 16:35:01 网站建设

高新区建网站外包大型网站建设费用

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个面向初学者的DB-GPT学习应用,提供交互式教程和练习。应用应包含基础SQL语句的自动生成示例,逐步引导用户从简单查询过渡到复杂操作,并提…

张小明 2026/1/7 10:36:00 网站建设

如何做收费影视资源网站公众号里的电影网站怎么做

解决常见 IT 问题 1. 控制即时设置 IT 专业人员,尤其是负责桌面部署的人员,常常面临一个问题:如何防止 Windows 在用户首次登录计算机时,在快速启动工具栏和开始菜单中创建 Outlook Express 图标。实际上,这些图标是在 Windows 为新用户创建用户配置文件时生成的,且不在…

张小明 2026/1/7 10:35:58 网站建设

做小说网站做国外域名还是国内的好软件外包多少钱

告别节点劝退!零基础小白必看的ComfyUI核心功能全攻略:放大/重绘/LoRA/ControlNet一次掌握 提到ComfyUI,很多小白的第一反应是“节点太复杂”“工作流看不懂”,明明想靠它实现更精准的AI创作,却被繁琐的操作直接劝退&a…

张小明 2026/1/8 14:52:07 网站建设

长沙网站设计公司怎么样国科联创网站建设

ShawzinBot 终极指南:5分钟掌握游戏音乐自动演奏 【免费下载链接】ShawzinBot Convert a MIDI input to a series of key presses for the Shawzin 项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot ShawzinBot 是一款专业的 MIDI 转按键工具&#x…

张小明 2026/1/9 18:25:45 网站建设