news 2026/6/10 7:58:33

Python核心库-Literal

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python核心库-Literal

from typing import Literal 是 Python 3.8+ 的标准库导入,它引入了一个“字面量类型”(Literal)的概念,用来把类型检查精确到具体的值,而不仅仅是“str / int / bool”这类宽泛类型。

1.基础语法

from typing import Literal Mode = Literal["auto", "none", "required"] # 变量 Mode 只能是字符串 "auto"、"none" 或 "required",传别的值就报错。

2.在函数签名里怎么用

def set_tool_choice(mode: Literal["auto", "none", "required"]) -> None: ...
set_tool_choice("auto") # ✅ 通过 set_tool_choice("required") # ✅ 通过 set_tool_choice("REQUIRED") # ❌ 大小写不一致,静态检查器会标红

3.运行时行动

Literal 本身不会在运行时拦截非法值;它的威力体现在写代码阶段就能发现拼写错误、避免“魔法字符串”满天飞。

如果你需要运行期也校验,可以搭配 pydantic 或 enum:

from pydantic import BaseModel, Field class Request(BaseModel): tool_choice: Literal["auto", "none", "required"] = "auto"

4.与 Union 区别

# 旧写法,宽泛 Mode = Union[str, int] # 任何 str / int 都合法 # 新写法,精确 Mode = Literal["auto", "none", "required"] # 只有这三个字符串合法

一句话总结
Literal就是“把允许的写进类型系统”,让 IDE 和静态检查器帮你提前发现手滑拼错、传错参数,写接口、写配置枚举时特别香。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 15:19:00

不会建模也能做 3D?2D 原画“充气”变动画的逃课流

对于 2D 原画师来说,“伪 3D 动态” 是最头疼的需求。 想让纸片人转身、蠕动、膨胀,传统方法是画几十张序列帧,不仅还要懂透视,还得保证体积不崩,工作量堪比手绘动画。现在是 2026 年。 面对这种“2D 想要 3D 魂”的需…

作者头像 李华
网站建设 2026/6/10 4:38:23

目标检测算法综述1

# opencv已经实现了的追踪算法 OPENCV_OBJECT_TRACKERS {"csrt": cv2.TrackerCSRT_create,"kcf": cv2.TrackerKCF_create,"boosting": cv2.TrackerBoosting_create,"mil": cv2.TrackerMIL_create,"tld": cv2.TrackerTLD_cr…

作者头像 李华
网站建设 2026/6/10 12:55:28

9个高效降aigc工具推荐,本科生必看!

9个高效降aigc工具推荐,本科生必看! AI降重工具:论文写作的隐形助手 在当前学术环境中,越来越多的高校开始采用AIGC检测系统来评估论文的原创性。对于本科生而言,如何在保证内容质量的同时有效降低AI生成痕迹&#xff…

作者头像 李华
网站建设 2026/6/10 15:21:34

基于网格寻优法优化参数的轴承故障诊断SVM程序

轴承故障诊断的SVM程序(支持向量机程序MATLAB),采用网格寻优法优化c,G参数,可用于故障诊断,模态识别等方面。在工程领域,轴承作为关键部件,其运行状态的准确监测至关重要。支持向量机(SVM&#…

作者头像 李华
网站建设 2026/6/10 14:50:53

探索机器视觉贴片机控制软件系统源码

机器视觉贴片机控制软件系统源码 机器视觉贴片机控制系统源码2套(全套源程序和图纸) 软件界面图片:嘿,各位技术小伙伴们!今天咱来唠唠机器视觉贴片机控制软件系统源码这有意思的玩意儿,而且咱手里还握着2套全套源程序和图纸呢&am…

作者头像 李华
网站建设 2026/6/10 12:51:39

内存短缺时代:软件臃肿问题亟待解决

有一定年纪的读者会记得1970年代的情况,当时由于各种国际争端导致燃料短缺,出现了排队、冲突和成本上涨。其中一个结果是推动了更高效率的发展。也许是时候将这些经验教训应用到当前的内存短缺问题上了。随着内存价格持续上涨,工程师们应该重…

作者头像 李华