新闻详情

新闻详情

首页 / 资讯中心 / 详情

Python中的小知识

发布时间:2026/11/14 15:12:29来源:尧图网络
Python中的小知识
平常使用1 *与** 解列表与解字典- *args把列表 / 元组解开成 位置参数- **kwargs把**字典解开变成关键字参数 (keyvalue)。**在这里叫字典解包运算符。TOOL_REGISTRY {YoloDetect: yolo_detect} tool_name data [name] tool_args {img_path:C:\Users\DreamV\Desktop\fushixiangmu\LangChainDay1\test2.jpg} func TOOL_REGISTRY [tool_name] obs func (**tool_args)obs func(**tool_args)等价于obs func(img_pathrC:\test.jpg)根据 keyvalue 呢这里 就是说把 tool_args 字典里的值直接 img_pathC:\... 了也就是说 obsyolo_detect (img_pathC:\)2 try 与 except 错误处理try:# 【风险代码】有可能会报错的代码写这里语句A语句Bexcept 异常类型1:# 发生异常类型1的时候执行这里做错误处理错误处理1except 异常类型2:# 发生异常类型2的时候执行这里错误处理2else:# try里面全部没有报错才会进else可选finally:# 无论报错与否一定会执行可选关闭文件、释放资源常用重点except 后面写异常类名代表只捕获这一种错误。如果你写裸的 except:不写异常名字会捕获所有全部异常不推荐容易掩盖 bug。3 3引号字符串的好处 里面的双引号不需要反斜杠\转义三引号好处里面的双引号不需要反斜杠\转义# 双引号版本内部出现必须加反斜杠转义 \good1 {\a\:1}# 三单引号版本内部随便写双引号 不用写反斜杠看着清爽good2 {a:1}1. # → 真正注释2. 单引号单行字符串3. 双引号单行字符串4. / **多行字符串**内部引号不用转义- 出现在右边赋值给变量普通字符串- 写在函数 /class 第一行文档字符串 docstring可充当注释4 遍历 列表字符串是否有 目标字符 部分匹配if 工具已执行 in state[logs]: ❌if any(工具已执行 in log for log in state[logs]): ✔这是成员判断判断字符串工具已执行是否作为列表里的一个完整元素存在。logs [完成思考, 工具已执行] 工具已执行 in logs # True但如果只是部分匹配logs [完成思考工具已执行完毕] 工具已执行 in logs # False因为列表里没有哪个元素正好等于工具已执行。if any(工具已执行 in log for log in state[logs]):这是子串判断遍历列表里的每个字符串log只要有一个log包含工具已执行就返回True。Class类里的1. __call__()1. 误区我要手动调用 yolo_tool.__call__(xxx)真相不要手动写__call__Python 对象加括号就自动调用。业务代码几乎永远不直接写__call__。2. 误区forward()会被直接调用真相Agent 不会直接调用forward()永远先走__call____call__内部再去调用forward()。__call__负责setup初始化、输入输出清洗forward只放纯业务逻辑2 Annotated是一个类型注解的特殊形式用来给类型附加额外信息from typing import Annotated from operator import add logs: Annotated[list[str], add]Annotated[类型, 合并函数]给字段定一个 “更新规则”。这里add是 Python 内置的加法用在列表上就是追加相当于你手动写messages.append(...)。如果不加Annotated默认规则是后写的覆盖前写的。可以理解为真正的类型是list[str]也就是“字符串列表”。附加元数据add不是类型它是Annotated附加的元数据通常是一个函数。在这里add来自from operator import add作用是“把两个列表合并”。JSON1 Json内部只能存在5种形式① JSON 对象 { ... } JSON 对象 { ... }里面必须是一组键:值 对 (和字典形式差不多)键key必须是双引号包裹的字符串不能裸写不能用单引号。②JSON 数组 [ ... ]③ JSON 字符串 abc JSON 字符串外层只能用双引号 绝对不能用单引号 ④JSON 数字⑤JSON 布尔 / null 全部小写这是高频踩坑点 JSON 布尔true、false全小写JSON 空值null全小写2 JSON字符串 与 Ajson()和 json.loads(A) 的作用Ajson()和 json.loads(A) 的作用是把 HTTP 响应体里A的 JSON 字符串解析成 Python 能直接操作的字典/列表整个传给 json.loads() 的文本必须从头到尾就是上面其中一种不能外面额外加人话。如s_bad 前面加文字 {\a\:1}json.loads(s_bad) # 报错实际文本 前面加文字 {\a\:1} 不是合法顶层JSON值s_ok 前面加文字 {\a\:1} # 实际文本前面加文字 {\a\:1}s_ok ” 前面加文字 {a:1} “ 都行 都可以json.loads (s_ok) 前后三引号 还是双引号都行 好的我现在需要调用工具{action:call_tool,name:YoloDetect} 这个字符串不是 JSON字符串 所以不是JSON “好的我现在需要调用工具{action:call_tool,name:YoloDetect}” 这种形式才是JSON字符串三引号里 包含双引号。JSON 语法规定整个输入只能是一个 JSON 值对象 / 数组 / 字符串 / 数字不能前面随便写自然语言中文。JSON字符串JSON 字符串不是普通字符串是格式特殊的字符串所以 llm_out 好的我现在需要调用工具 \n {action:call_tool,name:YoloDetect} 这个字符串不行。JSON 字符串里边的内容必须是一个 JSON 值对象 / 数组 / 字符串 / 数字不能前面随便写自然语言中文。所以 llm_out “{action:call_tool,name:YoloDetect}” 这样可以因为 {action:call_tool,name:YoloDetect} 是 JSON 对象形式且是字符串所以 “{action:call_tool,name:YoloDetect}” 是 JSON 字符串。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/14 3:51:47

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/13 13:31:48

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/13 16:11:45

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/14 3:51:43

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉