首页/新闻资讯/正文详情

Python中的小知识

发布时间:2026/9/24 17:46:07 来源:云帆数科 栏目:资讯中心
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 字符串。

相关推荐

【Dify】智能全书翻译应用
【Dify】智能全书翻译应用

跨语言内容传播已成为技术时代的重要需求,长文本和书籍的高效翻译正逐步依赖自动化与智能化方案。 本文聚焦基于Dify工作流的全书翻译实践,介绍核心模型、节点配置和典型应用,剖析自动化流程实现方法,助力大规模文本翻译场景快速落地。 文章目录 全书翻译 核心模型 Node节… · 2026/9/24 17:46:07

数树【牛客tracker  每日一题】
数树【牛客tracker 每日一题】

数树 时间限制:1 秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做&a… · 2026/9/24 17:46:07

同一模型差出 35.9 个百分点:Harness 工程已成为 Agent 能力的第一变量
同一模型差出 35.9 个百分点:Harness 工程已成为 Agent 能力的第一变量

【摘要】同一 GPT-6 Astra 在标准 Harness 下 ARC-AGI-3 得分 62.7%,切换 Provider Adapter 后可达 98.6%~99.9%,单次评测成本从约 26,098 美元降至 17,332 美元。本文拆解 Harness 的 6 阶段演进路径、3 级优化体系与状态管理方法&#xff0… · 2026/9/24 17:46:07

19种器官细胞图像识别:PyTorch医学图像分类实战指南
19种器官细胞图像识别:PyTorch医学图像分类实战指南

简介:面向医学图像分类任务的中型数据集,整合19类器官细胞图像,覆盖肾上腺、子宫、甲状腺、食道等类别,训练集2100张、测试集500张,已按文件夹划分,可直接用于CNN分类网络或基于yolov5的分类项目。包体共20… · 2026/9/24 19:28:53

键盘检测工具怎么用?一篇讲清按键失灵排查与实测方法
键盘检测工具怎么用?一篇讲清按键失灵排查与实测方法

键盘检测工具这类软件,很多人只在键盘到手时打开一次,随手按两下就关了。我以前也这样,直到被一把“偶发失灵”的键盘折磨了半个月,才真正意识到一个不到1MB的小工具在排查故障时有多能打。这篇文章就把我实际测试的过程、踩过的坑… · 2026/9/24 19:28:53

2026年自助建站系统怎么选?主流方案对比与实操避坑指南
2026年自助建站系统怎么选?主流方案对比与实操避坑指南

做网站这件事,这些年被自助建站系统彻底改造成了“流水线作业”。哪怕你完全不懂代码,只要会打字、会传图片,几个小时就能拼出一个像模像样的站点。到了2026年,这个赛道的产品已经不是简单拼模板、拼功能了,而是在拼AI… · 2026/9/24 19:28:53

华为交换机风暴控制与环路检测实战指南
华为交换机风暴控制与环路检测实战指南

1. 项目概述:为什么风暴控制不是“开了就行”的功能,而是网络稳定的生命线在华为交换机的实际运维中,“风暴控制”这三个字经常被当成一个开关按钮——查到命令就配,配完就放着,直到某天核心交换机CPU飙到98%&#xff… · 2026/9/24 19:28:47

终端Agent横评:Skills与MCP生态下的五款工具选型指南
终端Agent横评:Skills与MCP生态下的五款工具选型指南

1. 为什么现在必须重新理解“终端 Agent”这件事过去大半年,我几乎把市面上能叫得出名字的 AI 编程 Agent 都装了一遍。从最早的 Copilot 补全,到后来 Cursor 的 Composer,再到终端里跑的 Codex CLI、Claude Code、Gemini CLI、OpenCode、Aid… · 2026/9/24 19:28:47

美妆研发数字化转型:PLM破解配方合规与数据孤岛困局
美妆研发数字化转型:PLM破解配方合规与数据孤岛困局

把时间拨回一次普通的新品评审会。配方工程师认为“只是微调了防腐体系”,包装设计师已经按旧配方排了版,市场部拿着上一版的功效宣称文案在赶Deadline,采购部还在按旧料表询价。没有人故意制造混乱,但美妆研发团队的前几年&#… · 2026/9/24 19:28:47

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码