news 2026/11/5 10:57:32

GNSS HIL测试从单点仿真到生态联动:工具链拆解与工程实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GNSS HIL测试从单点仿真到生态联动:工具链拆解与工程实践

1. 从单点仿真到生态联动:GNSS HIL测试的演进逻辑

1.1 为什么单点GNSS仿真越来越不够用

做过车载定位测试的同行应该都有体会:早些年搞GNSS HIL,一台GNSS模拟器加一个接收机,跑跑定点、直线、简单转弯场景,基本就能交差。那时候ADAS功能少,定位模块的职责就是“告诉车在哪”,测试用例也简单——信号有无、定位精度、冷热启动时间,翻来覆去就这几项。

但现在完全不一样了。一台量产车上的定位相关功能,往少了说也有十几项:车道级导航、自动变道、匝道汇入、记忆泊车、代客泊车、城市NOA,每一项都对定位的连续性、完好性、实时性有不同维度的要求。更关键的是,这些功能不是孤立运行的,它们和摄像头、毫米波雷达、激光雷达、IMU、轮速计、高精地图、V2X模块全部耦合在一起。你单独测GNSS接收机的定位精度,测出来的数据放到整车环境里可能完全不是那么回事。

我举个实际例子。某项目做隧道场景测试,单点GNSS仿真显示接收机在信号丢失后3秒内还能维持定位输出,指标合格。但上了整车HIL台架,把VTD的视觉场景、IPG的车辆动力学、CANoe的总线通信全部接进来之后,发现车辆在隧道出口处出现了定位跳变,导致车道保持功能误判,方向盘出现了明显的非预期修正。这个问题在单点仿真里根本暴露不出来,因为单点仿真没有车辆动力学响应,没有视觉参照,也没有总线信号的时序耦合。

这就是单点仿真的天花板:它只能验证GNSS接收机本身,无法验证“GNSS在整车系统中的表现”。而OEM和Tier 1真正关心的,恰恰是后者。

1.2 生态联动的核心思路:各司其职,实时闭环

生态联动的本质,是把GNSS HIL从“信号级测试”升级为“系统级验证”。具体来说,就是把GNSS模拟器、场景仿真软件、车辆动力学模型、总线仿真工具、传感器模型全部接入同一个实时网络,让它们在同一时间基准下协同工作。

这个架构里每个角色分工很明确:

  • GNSS模拟器:负责生成射频信号,模拟卫星星座、大气延迟、多径效应、干扰欺骗等
  • 场景仿真软件(如VTD):负责构建三维虚拟环境,包括道路、建筑、植被、天气、光照
  • 车辆动力学软件(如IPG CarMaker):负责计算车辆在给定输入下的运动响应
  • 总线仿真工具(如CANoe):负责模拟整车网络通信,包括CAN、CAN FD、以太网
  • 传感器模型(如aiSim):负责模拟摄像头、激光雷达、毫米波雷达的原始数据输出
  • 实时仿真平台(如dSPACE SCALEXIO):负责运行上述所有模型的实时计算,保证微秒级同步

这些工具通过实时网络(通常是反射内存或PTP时间同步的以太网)交换数据。GNSS模拟器根据车辆当前位置和姿态,实时计算可见卫星和信号传播路径;VTD根据车辆运动更新场景渲染;IPG根据驾驶员模型和路面附着计算下一时刻的车辆位姿;CANoe把定位结果打包成总线报文发给ADAS控制器。整个闭环的步长通常在1ms以内,确保各系统看到的是“同一时刻”的世界。

注意:生态联动的门槛不在于单个工具的精度,而在于时间同步。我见过太多项目,单看每个工具都没问题,联起来就出鬼影、跳变、数据错位,根因基本都是时钟不同步。

1.3 这套方案适合谁参考

如果你正在做以下任何一项工作,这套生态联动方案都值得仔细研究:

  • L2+以上智能驾驶功能的定位模块验证
  • 高精定位算法在环测试
  • 多传感器融合定位的HIL验证
  • GNSS完好性监测算法的整车级测试
  • 定位功能与ADAS域控制器的集成测试

不适合的场景也很明确:如果你只是验证GNSS接收机的基本射频指标,单点仿真足够了,没必要上这套复杂架构。生态联动的价值在于“系统级耦合问题”的暴露,如果你的测试目标不涉及系统耦合,那就是杀鸡用牛刀。

2. 核心工具链拆解:每个环节到底在干什么

2.1 dSPACE:实时计算的底座

dSPACE在这套方案里的角色是实时仿真平台,通常用SCALEXIO或MicroAutoBox系列。它的核心任务不是“仿真什么”,而是“保证所有仿真模型在确定的时间步长内完成计算”。

为什么需要专门的实时平台?因为Windows或Linux不是实时操作系统,任务调度有不确定性。你可能设定1ms步长,但实际执行时可能跑到1.2ms甚至2ms,这在闭环测试里是致命的。dSPACE的RTOS能保证任务在微秒级抖动内完成,这对GNSS信号生成和车辆动力学求解至关重要。

配置要点:

  • 处理器核数要够:VTD渲染、IPG求解、GNSS信号计算、总线通信建议分配到不同物理核
  • FPGA模块用于高速I/O和信号预处理,比如GNSS中频信号的生成
  • 反射内存卡用于节点间低延迟数据交换,延迟通常在百纳秒级

我实际项目中遇到过因为CPU核分配不合理导致的步长超时。当时把VTD和IPG放在同一个核上,结果车辆动力学求解偶尔会挤占渲染线程,导致场景更新滞后,GNSS模拟器收到的车辆位置是“旧”的,信号生成出现周期性跳变。后来把IPG单独分到一个物理核,问题立刻消失。

2.2 IPG CarMaker:车辆动力学的大脑

IPG CarMaker负责回答一个核心问题:给定方向盘转角、油门、刹车、路面附着系数,车辆下一时刻在哪、姿态如何?

这个“在哪”直接决定了GNSS模拟器应该生成什么样的卫星信号。如果车辆位置算错了,后面所有环节都是错的。CarMaker的车辆模型精度直接影响GNSS HIL的可信度。

关键参数配置:

  • 车辆参数:轴距、质心高度、轮胎侧偏刚度、悬架特性
  • 路面模型:附着系数、坡度、不平度
  • 驾驶员模型:跟车、换道、转弯的决策逻辑

实操中有一个容易忽略的点:CarMaker的求解步长和dSPACE的实时步长必须匹配。如果CarMaker内部用1ms求解,但dSPACE以2ms调用它,就会出现“跳步”,车辆运动不连续。建议在CarMaker里设置固定步长,并与dSPACE任务周期严格对齐。

2.3 VTD:场景与视景的提供者

VTD(Virtual Test Drive)在这套方案里承担两个职责:一是构建虚拟场景(道路、建筑、交通标志、其他车辆),二是为摄像头和激光雷达模型提供渲染输入。

对GNSS HIL来说,VTD最重要的输出是“车辆在场景中的绝对位置和姿态”。这个数据会同时送给GNSS模拟器和传感器模型。VTD的场景坐标系必须和GNSS模拟器的坐标系严格对齐,否则会出现“车在场景里在A点,但GNSS信号显示在B点”的错位。

常见坑点:

  • 坐标系定义不一致:VTD默认用右手系,某些GNSS模拟器用左手系,需要做转换
  • 场景原点偏移:VTD场景原点通常在地图某处,GNSS模拟器的参考站坐标需要对应设置
  • 高程基准差异:VTD用椭球高还是海拔高,要和GNSS模拟器统一

我建议在项目启动阶段就做一次“坐标系对齐验证”:在VTD里把车放在一个已知坐标点,看GNSS模拟器输出的定位结果是否一致。这个验证花不了半小时,但能省掉后面几天的排查时间。

2.4 CANoe:总线通信的枢纽

CANoe在这套架构里的作用经常被低估。很多人觉得它只是“发报文、收报文”的工具,但在GNSS HIL生态里,它是连接仿真世界和真实ECU的桥梁。

具体来说,CANoe负责:

  • 把GNSS模拟器输出的定位结果(经纬度、速度、航向、精度因子)打包成ECU能识别的总线报文
  • 模拟整车网络的其他节点,比如IMU、轮速计、摄像头控制器
  • 记录总线上的所有通信数据,用于后续分析
  • 注入故障,比如报文丢失、信号超时、校验错误

配置要点:

  • DBC文件必须和真实整车网络一致,信号定义、字节序、缩放因子不能错
  • CANoe的实时性要保证,建议用VN8900系列接口卡,带硬件时间戳
  • 如果涉及以太网通信(如SOME/IP),需要配置相应的协议栈

我踩过的一个坑:CANoe发送定位报文时,没有考虑ECU的接收超时机制。ECU设定如果200ms内没收到有效定位报文就进入降级模式,但CANoe的发送周期设成了250ms,导致ECU频繁降级。后来把周期改成100ms,问题解决。这个细节在单点仿真里根本不会遇到,因为单点仿真不涉及总线通信。

2.5 aiSim:传感器仿真的补充

aiSim在这套方案里主要负责摄像头和激光雷达的物理级仿真。虽然GNSS HIL的核心是定位,但现代ADAS功能很少只依赖GNSS。多传感器融合是常态,所以传感器仿真必须同步接入。

aiSim的价值在于它能生成“物理真实”的传感器原始数据。比如摄像头,它能模拟镜头畸变、滚动快门、运动模糊、眩光;激光雷达能模拟反射率、多回波、雨雾衰减。这些数据送给融合算法,才能验证“当GNSS信号受遮挡时,视觉和激光雷达能否补位”。

与GNSS HIL的耦合点:

  • 时间同步:aiSim的渲染帧率要和GNSS信号生成周期对齐
  • 坐标系一致:aiSim输出的目标位置要和VTD、GNSS模拟器统一
  • 触发机制:当GNSS信号质量下降时,aiSim要能同步注入对应的视觉退化(如隧道口明暗变化)

3. 实操过程:从零搭建一套GNSS HIL生态联动台架

3.1 硬件连接与网络拓扑

先列一下我实际项目里用到的硬件清单:

设备型号示例作用
实时仿真机dSPACE SCALEXIO运行车辆模型、场景模型
GNSS模拟器思博伦GSS7000或类似生成射频信号
总线接口卡Vector VN8900CAN/CAN FD通信
反射内存卡通用型节点间低延迟数据交换
以太网交换机支持PTP时间同步
ECU待测ADAS控制器被测对象

网络拓扑建议采用“双网分离”:

  • 实时网:反射内存或PTP以太网,连接dSPACE、GNSS模拟器、VTD渲染节点,传输车辆位姿、卫星信号参数
  • 监控网:普通以太网,连接上位机、CANoe、aiSim,用于配置、监控、数据记录

为什么要分离?因为实时网对延迟和抖动极其敏感,如果和监控网混在一起,大文件传输或界面刷新可能干扰实时通信。我见过因为在上位机上开着视频监控导致实时网抖动的案例,排查了半天才发现是网络拥塞。

3.2 软件配置与时间同步

时间同步是整套系统的生命线。所有节点必须在同一时间基准下工作,否则数据错位。

推荐方案:PTP(IEEE 1588)精密时间协议。dSPACE作为主时钟,其他节点作为从时钟。同步精度可以做到亚微秒级。

配置步骤:

  1. 在dSPACE配置界面启用PTP主时钟,设置时钟等级
  2. 在GNSS模拟器、VTD节点、CANoe接口卡上启用PTP从时钟
  3. 用示波器或PTP监控工具验证同步偏差,确保小于1微秒
  4. 如果反射内存卡支持时间戳,启用硬件时间戳功能

提示:PTP同步建立需要几十秒稳定时间,测试开始前至少预热5分钟。我习惯在正式测试前跑一个“时间同步验证”用例,发一个脉冲信号,看各节点收到的时间戳是否一致。

3.3 场景搭建与参数配置

以“城市NOA隧道场景”为例,说明场景搭建的关键步骤。

在VTD中:

  • 导入高精地图,确保道路几何、车道线、交通标志与真实一致
  • 设置隧道模型,包括入口、出口、内部照明、通风设备
  • 配置交通流,包括前车、旁车、行人
  • 设置天气和光照,隧道内外差异要明显

在IPG CarMaker中:

  • 选择对应车型,或导入实测参数
  • 设置驾驶员模型,隧道场景建议用“保守型”跟车策略
  • 配置路面附着,隧道内通常干燥,出口可能有积水

在GNSS模拟器中:

  • 设置参考站坐标,与VTD场景原点对应
  • 配置星座,GPS+北斗+GLONASS+GALILEO全开
  • 设置大气模型,隧道场景要模拟信号遮挡和 multipath
  • 配置干扰源,可选

在CANoe中:

  • 加载DBC,确保定位报文、IMU报文、轮速报文定义正确
  • 设置发送周期,定位报文建议100ms
  • 配置记录,所有报文都要带时间戳

3.4 闭环调试与验证

所有配置完成后,不要急着跑正式用例。先做三步验证:

第一步:静态验证。车辆静止在场景原点,GNSS模拟器输出固定卫星信号。检查ECU收到的定位结果是否与场景原点一致。偏差应在米级以内。

第二步:低速动态验证。车辆以10km/h沿直线行驶,检查定位轨迹是否平滑,航向角是否与车辆朝向一致。这一步能暴露坐标系转换问题。

第三步:场景触发验证。车辆驶入隧道,检查GNSS信号是否按预期衰减,ECU是否切换到惯性导航,视觉传感器是否补位。这一步验证的是系统联动逻辑。

我通常会在第三步之后加一个“故障注入”环节:人为切断GNSS信号,看系统降级策略是否符合设计。这个环节往往能发现一些边界问题,比如降级提示延迟、融合权重切换不平滑等。

3.5 数据记录与分析

测试过程中的数据量很大,建议分层记录:

  • 原始数据层:GNSS模拟器的卫星参数、VTD的车辆位姿、IPG的车辆状态,采样率1kHz
  • 总线数据层:CANoe记录的所有报文,带硬件时间戳
  • 应用数据层:ECU输出的定位结果、融合结果、功能状态

分析时重点关注:

  • 定位误差的时间序列,看是否有周期性跳变
  • 各传感器数据的时间对齐,看是否有延迟
  • 功能触发时刻的定位质量,看是否满足阈值

我习惯用Python做后处理,pandas读数据,matplotlib画图。关键是要把不同来源的数据按时间戳对齐,然后逐帧检查。

4. 常见问题与排查技巧实录

4.1 定位跳变与数据错位

这是生态联动里最高频的问题。表现是:车辆在场景里平稳行驶,但ECU收到的定位结果出现周期性跳变,幅度从几米到几十米不等。

排查思路:

可能原因验证方法解决措施
时间不同步检查PTP偏差重新同步,预热足够时间
坐标系不一致静态验证统一坐标系定义
步长不匹配检查各节点任务周期对齐到同一基准步长
网络延迟抓包分析分离实时网和监控网
数据插值错误检查插值算法改用线性插值或零阶保持

我遇到过一次典型的跳变问题:车辆在VTD里位置连续,但GNSS模拟器收到的位置每隔5秒跳一次。查了半天发现是VTD的输出端口配置成了“事件触发”而非“周期发送”,导致数据更新不连续。改成周期发送后问题消失。

4.2 GNSS信号异常与多径模拟

生态联动环境下,GNSS信号异常往往不是模拟器本身的问题,而是场景耦合导致的。

常见异常:

  • 信号功率突变:通常是VTD场景中车辆突然进入遮挡区,但GNSS模拟器的遮挡模型响应滞后
  • 多径效应不真实:VTD的建筑材质和GNSS模拟器的反射模型不匹配
  • 卫星可见性跳变:VTD场景更新频率低于GNSS模拟器的卫星计算频率

解决技巧:

  • 在VTD中设置遮挡区域时,留出过渡带,避免硬切换
  • GNSS模拟器的多径模型参数要根据VTD场景材质调整,混凝土和玻璃的反射系数不同
  • 卫星可见性计算建议用同一套星历数据,避免各算各的

4.3 总线通信超时与丢帧

CANoe和ECU之间的通信问题,在单点仿真里很少遇到,但在生态联动里很常见。

典型表现:ECU报“定位信号丢失”,但GNSS模拟器显示信号正常。

排查步骤:

  1. 用CANoe的Trace窗口看报文是否发出
  2. 检查发送周期是否满足ECU超时要求
  3. 检查DBC定义是否与ECU实际一致
  4. 检查总线负载率,过高会导致仲裁延迟

我总结了一个速查表:

现象可能原因快速验证
ECU报信号丢失发送周期过长缩短周期至超时阈值的1/3
报文校验错误DBC定义错误对比实际报文和DBC
间歇性丢帧总线负载过高降低非关键报文频率
信号值异常缩放因子错误检查物理值和原始值转换

4.4 实时性不足与步长超时

dSPACE报“步长超时”是生态联动的另一个高频问题。表现是仿真运行不流畅,车辆运动卡顿,GNSS信号生成不连续。

根因通常是计算负载超过实时平台的处理能力。排查方向:

  • 检查CPU核分配,确保关键任务独占物理核
  • 检查模型复杂度,VTD的场景细节、IPG的车辆模型精度都可以适当降低
  • 检查通信开销,反射内存的数据量是否过大
  • 检查中断优先级,确保GNSS信号生成任务优先级最高

我的经验是:在项目初期就做一次“负载测试”,把所有模型跑起来,看CPU占用率和步长抖动。如果CPU占用超过70%,就要考虑优化或升级硬件。留足余量比事后优化省事得多。

4.5 传感器融合冲突与权重切换

当GNSS、视觉、激光雷达、IMU同时接入时,融合算法的权重切换可能出问题。

典型场景:车辆驶出隧道,GNSS信号恢复,但融合算法没有及时把权重从IMU切回GNSS,导致定位在几十米内仍然依赖惯性递推,误差累积。

验证方法:

  • 在融合算法输出端记录各传感器权重
  • 设计专门的“信号恢复”用例,看权重切换是否及时
  • 检查切换阈值是否合理,避免频繁切换

我建议在HIL测试中专门加一组“传感器退化与恢复”用例,覆盖:GNSS从有到无、从无到有、从好到坏、从坏到好,视觉从清晰到模糊、从模糊到清晰,激光雷达从正常到雨雾衰减。这些用例能暴露融合算法的边界问题。

5. 工具选型与方案取舍的实战思考

5.1 为什么是这套组合而不是别的

市面上做GNSS HIL的工具不少,为什么德思特这套方案选择dSPACE+IPG+VTD+CANoe+aiSim的组合?

核心逻辑是“成熟度优先”。dSPACE在实时仿真领域有几十年积累,IPG在车辆动力学方面是事实标准,VTD在场景仿真方面被大量OEM采用,CANoe在总线仿真方面几乎没有对手,aiSim在传感器物理级仿真方面有独特优势。这套组合的每个环节都经过大量项目验证,风险最低。

替代方案当然有:比如用CarSim替代IPG,用PreScan替代VTD,用其他实时平台替代dSPACE。但每换一个环节,就要重新验证接口、重新调试同步、重新积累经验。对于量产项目来说,时间成本比工具成本高得多。

5.2 什么情况下可以简化

不是所有项目都需要全套生态联动。以下情况可以考虑简化:

  • 只验证GNSS接收机性能:单点仿真+GNSS模拟器足够
  • 只验证定位算法:可以不要VTD和aiSim,用录制数据回放
  • 只验证总线通信:可以不要GNSS模拟器,用CANoe模拟定位报文
  • 只验证融合算法:可以不要车辆动力学,用预设轨迹

简化的原则是:如果测试目标不涉及某个环节的耦合,就可以去掉那个环节。但一旦涉及系统级功能验证,生态联动就是必须的。

5.3 成本与周期的现实考量

全套生态联动台架的成本不低,硬件加软件通常在大几百万到千万级别。周期上,从采购到调试完成,顺利的话3-6个月,不顺利可能拖到一年。

我的建议是:如果团队第一次做,一定要留足调试时间。不要指望设备到货就能跑通,时间同步、坐标系对齐、总线配置、场景搭建,每个环节都可能卡住。最好在项目规划阶段就安排一个“预集成”阶段,专门用来解决接口和同步问题。

另外,人员配置上,这套系统需要至少三类角色:实时仿真工程师(负责dSPACE和模型集成)、测试工程师(负责场景和用例)、总线工程师(负责CANoe和ECU通信)。一个人全包不是不行,但效率会低很多。

6. 从工程实践里攒下的几条硬核经验

6.1 时间同步要当成一等公民

我参与过的GNSS HIL项目里,超过一半的问题最终都追溯到时间同步。PTP配置看起来简单,但交换机是否支持、网卡是否支持硬件时间戳、操作系统是否引入额外延迟,每个环节都可能出问题。

我的做法是:在台架搭建阶段,专门花一天时间做时间同步验证。用示波器测各节点的脉冲输出,用PTP监控工具看偏差曲线,确保稳定在亚微秒级。这一天花得值,能省掉后面无数排查时间。

6.2 坐标系对齐要文档化

VTD、GNSS模拟器、IPG、aiSim各有各的坐标系定义。右手系还是左手系,原点在哪,单位是米还是厘米,航向角是北偏东还是东偏北,这些细节如果不文档化,换个人接手就要重新踩坑。

我习惯在项目初期就写一份“坐标系定义文档”,把每个工具的坐标系、转换关系、验证方法写清楚。这份文档后来成了团队的标准参考,新项目直接复用。

6.3 场景库要持续积累

生态联动的价值很大程度上取决于场景的丰富度。隧道、地下车库、城市峡谷、高架桥下、林荫道、雨雪天气,每种场景对GNSS信号的影响都不同。

我建议团队建立自己的场景库,每个场景标注:适用功能、GNSS挑战类型、预期结果、实际结果。积累多了,新项目可以直接复用,不用每次从零搭建。

6.4 数据记录要留足余量

HIL测试的数据量很大,1kHz采样、几十个通道、跑几个小时,轻松上百GB。硬盘空间要留足,记录策略要设计好。

我的经验是:原始数据全记录,但分析时先做降采样。比如1kHz的数据,先降到100Hz看趋势,发现异常时间段再调回原始数据细看。这样既能保证不丢信息,又能提高分析效率。

6.5 故障注入要成体系

生态联动的优势之一是能系统性地注入故障。不要只做“信号丢失”这种简单故障,要设计成体系的故障矩阵:

  • GNSS:信号丢失、信号欺骗、多径增强、卫星数不足、精度因子恶化
  • 视觉:镜头遮挡、眩光、雨雾、夜间低照度
  • 激光雷达:雨雾衰减、反射率异常、多回波干扰
  • 总线:报文丢失、超时、校验错误、信号值越界
  • 车辆:轮胎打滑、制动失效、转向异常

每个故障都要有明确的注入时机、持续时间、恢复策略,这样才能真正验证系统的鲁棒性。

这套生态联动方案我前后跟过三个项目,从最初的磕磕绊绊到后来的流程化操作,最大的体会是:工具是死的,人是活的。再好的工具链,如果团队没有形成自己的方法论和知识库,每个项目都要重新摸索。反过来,哪怕工具不是最顶级的,只要流程清晰、经验沉淀到位,也能做出高质量的测试结果。GNSS HIL从单点走向生态,本质上是从“测设备”走向“测系统”,这个转变对测试团队的能力要求是全方位的——既要懂射频,又要懂车辆,还要懂总线、懂场景、懂融合。路很长,但方向是对的。

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

AI赛事通(CompeteHub) 十月6号。kimi提供

✅ 第一档:现在(10月6日)真能报名#赛事截止说明1华为算法挑战赛CANN挑战赛10月16日算子性能优化,一等奖2万华为校招免机考免一轮面试,初赛9.5–10.19,决赛10.20–11.7现场2昇腾行业创新大赛2026电力行业算子…

作者头像 李华
网站建设 2026/11/1 22:41:03

MySQL 存储过程|游标|触发器完整笔记,面试题+代码案例全覆盖

本篇为MySQL高级SQL编程完整学习笔记,主要讲解存储过程、存储函数、游标、条件处理程序以及触发器。从基础概念、语法示例到踩坑点,结合可执行SQL案例,配套16道高频面试题,方便复习巩固,可直接用于期末备考与面试复习。…

作者头像 李华
网站建设 2026/10/24 4:22:24

pstack多模型Panel机制:让3个模型协作完成同一个任务

pstack多模型Panel机制:让3个模型协作完成同一个任务 【免费下载链接】pstack-claude Claude Code, Codex, Copilot, Pi, OpenCode, Gemini, and Prime Agent versions of Potetos pstack. Rigorous agent workflows with Cursor primitives translated for other h…

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

Python模块JSON与面向对象

Python模块、JSON与面向对象最后一篇,整理模块与包、JSON数据处理,还有面向对象的三大特性。面向对象部分内容比较多,慢慢看。二十一、模块与包 一、什么是模块 Python 模块(Module)就是一个 .py 文件。模块里可以定义…

作者头像 李华