自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 收藏
  • 关注

原创 注意点:「函数,变量,模块 等先全局导入→使用→后局部绑定」引发 UnboundLocalError 的核心根源,混淆了「代码执行顺序」与「变量作用域判定顺序」

扫描整个函数体,识别所有「绑定操作」(import赋值/defclass将存在绑定操作的名称标记为局部变量,屏蔽全局同名名称;仅做作用域标记,不执行任何实际操作。return "全局函数"print(global_func()) # 先使用,报错def global_func(): # 后局部绑定return "局部函数"demo_func() # 抛出 UnboundLocalError。

2026-01-04 21:09:52 193

原创 必看点:以后大概方向:二本+Python+智驾感知 职业发展核心要点总结

学历:二本(需针对性弥补,非核心障碍)技能:Python开发(2年),核心方向为智驾感知数据闭环关键经验:华为ADS数据闭环工作流运维(1年)+ 地平线道路结构认知数据闭环(10个月),掌握双头部智驾平台技术架构。

2025-12-19 14:36:52 439

原创 注意点:如何制作一个docker镜像,待学习

以下是从零开始、详细、实战导向的完整流程,适用于 Python(如 Flask/FastAPI)、Node.js、Java、Go 等任何语言的应用。如果你告诉我你的具体语言和框架(比如 Node.js + Express、Java Spring Boot、Go 等),我可以给你一份针对性的 Dockerfile 模板!之后别人可通过 docker pull your-dockerhub-username/my-flask-app:v1 使用你的镜像。📦 四、(可选)创建 .dockerignore。

2025-12-19 13:31:41 444

原创 必看点:地平线与各个车企是如何合作的

地平线采用双轨模式开展智能驾驶业务,两种模式目标不同、互不排他,共同支撑芯片与方案的规模化落地。

2025-12-19 13:26:36 766

原创 注意点:缩进不会更改作用域,后续 报错变量不存在,基本上都是某个分支变量未定义,正常情况,下面出现各个分支,那么在前面定义a=None

正常情况,下面出现各个分支,那么在前面定义a=None。原因:else分支没有定义topic的。

2025-12-15 23:53:36 106

原创 注意点:多进程同时尝试创建父目录,触发冲突,导致部分 `os.makedirs(uri)` 失败,抛出“文件不存在”错误。应该使用os.makedirs(uri, exist_ok=True)解决

问题原因修复方案多传感器并发创建目录时,父目录不存在或创建冲突使用替代原有判断逻辑路径层级深(多级目录缺失)原有逻辑未充分考虑多级目录创建的并发安全性调用处提前创建,双重保障目录存在存储后端操作异常对象存储挂载点存在创建延迟、原子操作不支持等特性验证挂载选项,或采用“本地写入→拷贝”的流程。

2025-12-02 23:45:07 443

原创 注意点:多线程与多进程与在并行读-->并行cpu或者GPU处理--->并行写 的架构中,如何选择

概念Python 实现方式是否系统守护进程PPID主进程否终端/shell子进程(外部命令)否主进程 PID子进程(Python)否主进程 PID守护子进程(Python)❌ 否(仅自动终止)主进程 PID系统守护进程手动双 fork + setsid + 重定向✅ 是1 (init)Python 解释器启动后,按顺序执行脚本顶层代码(不在函数/类/线程中的代码)、调用函数、处理逻辑的过程,本质是「主线程的默认执行流程」。Python 脚本启动时自动创建的默认线程。

2025-12-02 17:27:43 859

原创 11. 变量: Python 变量陷阱:从机制到规避(因果链版)

不可变类型 函数内“修改”仅创建新对象,原对象不变 (整数/字符串/元组) def f(n):n+=10;类变量 类本身 类及实例(实例未重定义时) 实例未重定义同名属性 实例内重定义属性(如 self.staffs = [] )2 对象可变+场景复用 同步,所有引用该对象的地方均受影响 实例复用类变量列表,修改同步类变量。1 对象不可变(无论是否复用) 不同步,仅创建新对象 函数传参修改整数,原整数不变。3 对象可变+场景不复用 不同步,仅当前对象受影响 实例重定义类变量,修改不影响类。

2025-11-26 02:28:07 392

原创 注意点:挂载与插硬盘,容器挂载实现持久化存储

使用 Docker Volume(-v myvol:/data) ✅ 是 Docker 管理的持久化存储,默认在 /var/lib/docker/volumes/ 下。-v /host/data:/container/data 表示把宿主机的 /host/data 目录挂载到容器内的 /container/data。此时,你在容器里往 /container/data 写入的任何文件,实际上都是直接写入宿主机的 /host/data 目录中。只要你挂载了目录,无论容器生死,数据都在挂载源的位置安全保存。

2025-11-14 17:44:05 318

原创 注意点: linux如何解压压缩包

你可以使用以下命令将该压缩包解压到其所在目录(即。

2025-10-10 10:46:59 145

原创 注意点:在Python中,“只有多进程没有多线程”是指虽然CPU可以同时执行多个线程,但是CPython有一个全局解释器锁(GIL),其核心作用是:在同一时间,只能有一个线程执行Python字节码。

任务类型最优方案次优方案核心逻辑CPU密集型多进程(C扩展库(NumPy)/无GIL解释器(PyPy突破GIL限制,利用多核并行I/O密集型(高并发)异步协程(asyncioaiohttp单线程协作,无GIL竞争I/O密集型(简单场景)多线程(I/O等待释放GIL,轻量高效。

2025-09-23 23:21:30 659

原创 4. LMDB 与 ZSTD 压缩结合的核心结论及 LMDB 适配存储的深层逻辑

LMDB与ZSTD组合逻辑:ZSTD负责“降空间”,LMDB负责“高效率管理”,存储大小比例与数据压缩比例一致,实现“空间-性能”平衡。LMDB核心竞争力:“直接操作页缓存”(基于内存映射)是性能基石,结合B+树的高效检索、事务的高可靠性、轻量的嵌入式特性,使其成为批量数据存储的优选——无论是否配合压缩,这些优势都能满足不同场景对“高效、可靠存储”的核心需求。场景化决策:离线存储用“ZSTD+LMDB”平衡成本与性能;实时场景用未压缩LMDB,依托“直接操作页缓存”的低延迟优势保障响应速度;

2025-09-15 13:44:40 562

原创 3. 自动驾驶场景中物理层与逻辑层都有哪些标注以及 数据标注技术规范及实践 -----可扫描多看几遍,有个印象,能说出来大概就行

逻辑层标注基于物理层标注结果,聚焦实体间的拓扑关系、交通规则及行驶约束,核心目标是将“客观数据”转化为“机器可理解的语义逻辑”,为智能驾驶决策规划提供直接依据。根据逻辑类型,可分为车道拓扑与路径类、道路与路口逻辑类、行驶约束类三大类。

2025-09-14 20:18:57 1204

原创 2. BEV到高精地图的全流程,本质上是自动驾驶**车端(车载系统上传bev到云端)与云端(云端平台处理这些bev形成高精地图)协同工作

车端是“前端感知触角”,负责采集与初步筛选;云端是“后端生产中枢”,负责整合与构建。二者通过数据双向流动,既解决了高精地图“大规模覆盖、动态更新”的难题(依赖车端众包采集),又满足了自动驾驶车辆“实时决策、全局规划”的需求(依赖云端分发的高精度地图),是高阶自动驾驶落地的核心技术闭环。

2025-09-14 19:37:21 711

原创 1. 点云与图像等进行多传感器融合 形成bev鸟瞰图,在鸟瞰图上进行物理层/逻辑层的车道线,离散,红绿灯,标识牌的标注,给鸟瞰图赋予语义

原始三维数据(点云)→ 高效可视化载体(BEV)→ 语义化信息(物理+逻辑标注)→ 结构化静态基准(高精地图)其中,BEV承担“承上启下”角色:向上承接点云的三维几何信息,向下通过标注转化为语义信息,最终支撑高精地图构建;物理层与逻辑层标注是“赋予数据灵魂”的核心,让自动驾驶系统不仅“看到”环境,更能“理解”环境、“遵守”规则。

2025-09-14 19:16:20 684

原创 注意点:揭秘 Python os 模块:它背后依赖的那些 “帮手” 库 -----待看,还没理解

os实际开发中,我们很少需要直接调用这些“帮手”库——os模块已经把它们封装成了简单的接口(比如os.mkdir()明白为什么有些os函数在 Windows 能用、Linux 不能用(比如os.fork()依赖 posix,Windows 没有);遇到问题时快速定位根源(比如路径错误,可能是pathlib和os.path的用法混淆)。下次用os模块时,不妨想想:这次是哪个“帮手”在背后出力?

2025-09-04 10:52:29 906

原创 深入理解 Python 中 os.exists () 与 genericpath.exists () 的关系:底层实现与上层接口的奥秘

的实现非常简洁,核心依赖os.stat()# genericpath.py 源码片段import ostry:os.stat(path) # 尝试获取路径的文件状态except OSError: # 路径不存在、权限不足等情况会抛出 OSErrorexcept ValueError: # 路径格式非法(如空字符串)会抛出 ValueError逻辑很明确:若执行成功(能获取到路径状态),说明路径存在且非损坏的符号链接,返回True;若抛出异常(路径不存在、权限不足、格式错误等),则返回False。

2025-09-04 10:45:20 1042

原创 注意点:Python 路径处理解惑:os.path 与 posixpath 的区别与应用场景。例如BUCKET桶的路径拼接,不论在linux中还是在windows中都是一样的,用那个

日常开发中,优先使用os.path:它会自动适配当前操作系统的路径规则,避免因路径格式错误导致的问题。仅在需要强制生成 POSIX 风格路径(如编写跨平台工具时,固定输出 Linux 兼容路径)时,才直接使用posixpath。两者功能等价但定位不同,os.path的“动态适配性”使其更适合大多数场景,而posixpath仅作为 POSIX 路径的底层实现存在。

2025-09-04 10:18:39 368

原创 注意点:array 库是 C 语言实现的高性能模块,在 Linux 下以 .so 动态链接库形式存在;存放路径是 Python 解释器为 C 扩展模块预留的标准目录,与numpy中的array是独立的

so你的情况是Linux + Anaconda 环境下的正常现象array库是 C 语言实现的高性能模块,在 Linux 下以.so动态链接库形式存在;存放路径是 Python 解释器为 C 扩展模块预留的标准目录;只要能正常导入并使用array的功能(如创建数组、索引访问),就说明模块是完整且可用的,无需额外处理。如果你需要轻量级的 1 维同类型数据存储(比如读取二进制文件、传递简单数值序列),且不想依赖第三方库,用 Python 标准库的array即可;如果你需要。

2025-09-03 19:03:30 1082

原创 100. 各种操作触发的魔法方法:

切片操作会触发魔法方法in→__iter__→其中,是专门为in操作设计的魔法方法,通常建议显式实现它以提高查找效率(尤其是对于大型集合)。

2025-09-03 15:03:58 280

原创 注意点:Git 从安装到分支协作、冲突解决的完整步骤 ---待修改,没看这个步骤,需要重新整理步骤

非常抱歉之前的回答不够完整和清晰,以下是从Git安装到团队协作的。

2025-08-05 23:34:55 531

原创 注意点:如何使用conda创建虚拟环境并使用虚拟环境以及当安装相关库时,如何指定安装到那个环境里面 ---待看

创建环境 → 激活环境 → 安装依赖 → 退出环境。多环境下指定安装库的关键是通过「激活环境」「-n 参数」或「环境绝对路径」明确目标环境,确保依赖隔离,避免版本冲突。合理使用虚拟环境能显著提升多项目开发的效率和稳定性。

2025-08-05 23:22:27 1429

原创 工作相关: 预刷真值与人工标注的真值之间的关系 以及 真值与原始数据的关系,

原始数据是自动驾驶系统通过各类传感器直接采集的未经加工的感知数据,是整个数据流程(标注、模型训练、算法验证)的“源头素材”。主要采集设备:摄像头(输出图像)、激光雷达(输出点云)、毫米波雷达(输出测距/测速信号)、GPS/IMU(输出定位与运动数据)等。数据形态图像:RGB彩色帧、灰度帧,记录场景的视觉纹理、颜色、光影等二维信息;点云:三维空间中密集的点集(含x,y,z坐标及反射强度),记录目标的深度、轮廓和空间位置;其他:雷达信号、定位轨迹、车辆CAN总线数据(如车速、转向角)等。

2025-08-05 22:18:42 727

原创 注意点:python的列表生成式性能高于列表操作,生成器表达式,字典生成式,集合生成式也是一样的

11。

2025-08-02 19:38:35 97

原创 10.3 序列类操作的常用库bisect 库(操作有序列表,二分查找)与序列类型的进阶数据类型array与pandas.DataFrame在合适的地方替代列表与数组,常用deque库: --待补充

bisect 库的核心优势是利用二分查找(时间复杂度 O(log n)),比线性查找(O(n))更高效使用前必须确保列表是已排序的,否则会得到错误结果常用函数:bisect_left 会把新元素插入到相同元素的前面bisect_right 会把新元素插入到相同元素的后面:将 x 插入 a 并保持有序,会把新元素插入到相同元素的后面这些工具特别适合需要频繁插入元素并保持有序的场景,如排行榜、时间序列数据等。

2025-08-02 19:15:35 119

原创 10.2 通过抽象基类实现 自定义序列类型 的注意点示例

*抽象基类的核心作用是定义“必须实现的接口规范”,而非提供具体功能。只要一个类继承了抽象基类,且没有完全实现这些规范,它就会继承“抽象属性”——成为一个“半抽象类”,无法实例化,且这个“抽象属性”会继续传递给它的子类。自定义 某种类 时,通过继承collections.abc中的抽象基类,只需要实现 核心魔法方法(抽象基类要求的抽象方法) ,就可以使用抽象基类中依赖这些 核心魔法方法 的进阶魔法方法。

2025-08-02 19:07:09 129

原创 5.8 在Python的对象模型中,内置对象的**魔法方法**、**对象内置方法**与**属性**属于同一等级的成员。它们之间没有严格的“层级从属关系”,并且内置方法与魔法方法直接可以相互调用

地位平等:均为类/对象的核心成员,分别承载数据存储、用户级功能、解释器级行为的角色;协作紧密:内置方法与魔法方法通过双向调用实现逻辑复用,属性则作为数据基础被两者共同操作;无层级从属:没有强制的“包含”或“从属”关系,而是通过灵活的调用关系形成功能闭环。这种设计让Python的面向对象编程既简洁又强大——开发者可以通过内置方法定义直观的功能,通过魔法方法定制底层行为,同时通过属性管理数据,三者协同实现复杂的对象逻辑。

2025-08-02 17:43:26 498

原创 5.7 进阶魔法方法依赖的基础魔法方法是不同的(根据是那种对象内部的魔法方法判断需要依赖哪些魔法方法)

基础魔法方法是 “数据管理者”,进阶魔法方法是 “功能扩展者”,前者为后者提供数据访问的基础能力。对象的核心数据结构(序列依赖索引访问,映射依赖键访问,数值依赖单一属性);进阶方法的功能(运算需要获取数据,迭代需要遍历数据,修改需要设置数据)。:需要访问或修改对象的核心数据,而这些数据的管理由基础魔法方法负责。

2025-08-02 17:20:36 80

原创 10.1 自定义序列类的 关键魔法方法与关键内置方法: `+` (产生新的对象) ,`+=`(原地加,不产生新的),`extend()` 各操作对应的魔法方法、分类,依赖哪些魔法方法,依赖哪些内置方法

操作对应魔法方法方法分类依赖的基础魔法方法(典型)__add__进阶魔法方法__init__(创建新对象)、+=__iadd__进阶魔法方法__init__(访问属性)、extend()无(列表实例方法)非魔法方法不从此方面考虑核心结论和+=分别对应进阶魔法方法__add__和__iadd__,依赖基础魔法方法(如__init__等)实现功能;extend是列表专属的普通方法,不属魔法方法体系。

2025-08-02 17:14:27 286

原创 注意点:不同对象(更准确地说,不同类型/类)的魔法方法(Magic Methods,也叫特殊方法,以双下划线`__`开头和结尾)通常是不一样的。

相同的语法/操作,在不同对象上有不同的实现。正因为不同对象的魔法方法可以(且通常需要)不一样,才能让整数、字符串、列表等类型在面对相同操作(如+=)时,表现出符合自身特性的行为。

2025-08-02 17:02:50 346

原创 注意点:使用缓存优化执行速度---待细看

在你的场景中,适用场景:HRN 字符串在数据中存在大量重复,且解析时间开销明显。缓存大小选择:100,000 条记录的上限需根据实际数据量和内存情况调整,避免内存占用过高。性能收益:对于重复率高的数据,可将解析时间缩短 90% 以上。

2025-07-23 14:17:29 412

原创 9. 自定义序列类的核心魔法方法 及 如何通过抽象基类模拟自定义序列类

通过继承抽象基类,扩充内置数据类型。

2025-07-10 19:57:53 457

原创 5.5 基础魔法方法,核心魔法方法,进阶魔法方法的调用机制与通过自定义类型的灵活性(基础方法自由实现)和规范性(核心方法定义接口),同时通过进阶方法扩展功能,最终实现与内置类型一致的行为

类型定义与其他方法的关系基础魔法方法定义对象最基本行为(如创建、表示、属性访问等),不依赖其他魔法方法。独立存在,实现后可直接使用,无需依赖其他魔法方法。核心魔法方法实现特定抽象基类(如SequenceMapping)时必须显式实现的最小方法集。是基础魔法方法的子集(仅针对特定接口),实现后可直接使用,是进阶方法的依赖基础。进阶魔法方法基于基础/核心方法扩展功能(如迭代、成员检查等),依赖其他魔法方法。必须依赖基础/核心方法才能实现,需显式定义后才能使用。

2025-07-10 19:34:36 393

原创 8. 使用元类编程优化python的编程逻辑

111。

2025-07-08 15:53:08 283

原创 7. 上下文对象的作用以及 如何通过实现python的上下文管理器对象的关键魔法方法设计一个上下文管理器对象

上下文管理器对象只是实现了上下文管理器协议,只要实现了上下文管理器协议就可以使用with as进行触发,上下文管理器(Context Manager)是 Python 中用于自动化资源管理的核心机制。这种机制使代码更简洁、安全,避免了资源泄漏。方法,实现了资源的自动管理。语句通过调用上下文管理器的。

2025-07-07 18:46:52 380

原创 注意点:python的23种设计模式 与 Mixin(混合)是一种结构型编程技术---待看???????

通常认为,Python可以实现所有经典的23种设计模式(GoF设计模式),但由于Python本身的动态语言特性,某些模式的实现更加简洁,甚至可以通过语言内置机制隐式实现。对象间的一对多依赖关系,当一个对象状态改变时,所有依赖它的对象都会被通知。提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。将一个类的接口转换成客户希望的另一个接口,使不兼容的类可以一起工作。给定一个语言,定义它的文法表示,并定义一个解释器。

2025-07-07 18:08:08 368

原创 注意点:字典的深层切片:即对dag_dict.items()的切片islice(dag_dict.items(), 2),next(iter(dag_dict.items()))

常见应用,

2025-07-04 12:07:31 263

原创 注意点:super的多重嵌套调用父类方法,遵循调用实例的MRO,而非方法定义类的MRO----待看

无论方法在哪个类中定义,

2025-07-03 19:39:11 552

原创 注意点:可以使用python的自省(是指程序在运行时能够自我检查和分析的能力)优化代码逻辑,几种常见的自省----待看

Python的自省机制是其动态语言特性的核心优势之一,通过运行时获取对象信息,支持灵活的编程模式和框架开发。合理应用自省可以显著提升代码的通用性和可扩展性,但需权衡其带来的性能和维护成本。

2025-07-03 19:08:47 581

原创 注意点:vscode的使用

总之,源代码管理图中的线通过展示提交之间的关系、分支的创建和合并等操作,帮助开发者直观地理解代码的版本演变过程。

2025-07-02 18:11:06 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除