AI 精选工程笔记

技术摘要

AI 精选与摘要技术文章、编程实践和人工智能新闻。

---

Python 函数与作用域:LEGB 规则、闭包陷阱与实战避坑指南

来源: realpython.com 56
写 Python 的人大多遇到过这类诡异时刻:变量明明赋值了,函数里却报 ;嵌套函数改外层变量死活不生效;默认参数列表居然在多次调用间"共享"了状态。这些问题都指向同一个根——作用域规则。理解 LEGB、搞清参数与实参的区别、掌握闭包的边界,才能写出不靠运气运行的代码。 Python 遇到一个变量名时,按 Local → Enclosing → Glo...

Python 文件操作实战:pathlib、上下文管理器与 WAV 文件读写

来源: realpython.com 57
Python 处理文件的方式远不止 一行调用。从路径操作到二进制音频文件读写,每个环节都有容易踩坑的细节。这篇文章把 pathlib、上下文管理器和 WAV 文件处理串起来,用可运行的代码讲清楚该注意什么。 拼路径时,斜杠方向、类型转换、重复拼接都是常见出错点。 用面向对象的方式解决这些问题: 几个实际开发中的建议: 始终用 而不是字符串拼路径—— 对...

打造靠谱的 Python 开发环境:虚拟环境、pyenv 与字体

来源: realpython.com 48
Python 开发环境看似简单,实则坑多。项目跑不起来,多半是环境问题——版本冲突、依赖污染、终端显示乱码,每一个都足以浪费你一个下午。这篇文章把虚拟环境管理、pyenv 多版本切换、以及开发字体选择三件事讲清楚,帮你从"能跑"升级到"稳跑"。 全局 是新手最常见的坏习惯。一旦你在全局装了 Flask 2.3,另一个项目需要 Flask 1.1,冲突就...

Python 数据采集与存储:CSV、JSON、SQL 实战速查

来源: realpython.com 54
日常开发中,数据不会凭空出现——要么从文件读入,要么从数据库查询。CSV、JSON 和 SQL 是 Python 数据处理的三条主干道,掌握它们的读写细节,能避免大量低级错误和性能坑。 下面按格式逐一梳理关键操作,附带可直接运行的代码。 CSV 看起来简单,实际暗藏陷阱:编码问题、逗号出现在字段内部、换行符不一致。Python 标准库 模块已经处理了大...

Python 面向对象实战:从类到 SOLID 的关键细节

来源: realpython.com 56
写 Python 的人大多用过类,但真正把面向对象写到位的并不多—— 和 有什么区别? 在多重继承时到底怎么走?mixin 和普通父类该怎么选?SOLID 原则在动态语言里又该怎么落地?这些问题看似基础,却直接影响代码的可维护性和扩展性。 下面逐个拆解这些核心知识点,并给出可以直接跑的示例。 Python 的魔术方法(magic methods / d...

写出地道 Python 代码:从风格到实践的五个维度

来源: realpython.com 40
"Pythonic"不是一个空洞的口号——它指的是用 Python 社区公认的最佳方式解决问题,让代码读起来像 Python 而不是移植过来的 C 或 Java。一篇 20 道题的测验把 Pythonic 的核心拆成了几个方向:Zen of Python、PEP 8、代码质量、类型检查、文档。下面沿着这些维度,把容易踩的坑和可以立刻用的写法摊开讲。 在...

Python 数据结构:那些容易踩坑的细节与实战

来源: realpython.com 41
Python 的内置数据结构看起来简单,但真正写代码时,不少细节会悄悄绊倒你——字符串不可变、列表浅拷贝、字典键的哈希要求、集合的元素约束、bytes 与 str 的边界……这些知识点在面试和日常调试中反复出现。本文围绕 strings、lists、tuples、dicts、sets、sorting、bytes 七个板块,用可运行的代码把常见陷阱逐一拆...

Seaborn 双界面实战:从函数式调用到对象式组装

来源: realpython.com 40
Seaborn 在 Python 数据可视化领域几乎是"开箱即用"的代表——一行代码出图,配色和统计细节自动搞定。但很多人没注意到,从 v0.12 起 Seaborn 引入了一套全新的 objects interface(对象接口),和经典的函数式接口并行存在。两套接口设计哲学不同,适用场景也不同。这篇文章用可运行的代码把两种风格摊开对比,帮你决定日常...

Python 异常、日志与调试:从踩坑到顺手的三件套

来源: realpython.com 86
写 Python 代码,最怕的不是逻辑复杂,而是程序跑着跑着就"沉默崩溃"——没有报错信息,没有日志痕迹,只剩一个空荡荡的终端。异常处理、日志记录和调试手段,这三样东西单独看都不难,但真正在项目里用到位的人不多。下面把常见坑和实用模式串起来讲,每段都带可跑的代码。 新手最常见的写法: 这段代码的问题不是语法,而是把所有错误都吞掉了,后续排查时你连崩溃原...

Bumblebee:零依赖的只读扫描器,让软件供应链投毒无处藏身

来源: oschina.net 57
Perplexity 把内部用来守护搜索产品、Comet 浏览器和 Computer 智能体的安全工具开源了——Bumblebee,一个纯 Go 编写的只读清单收集器,零非标准库依赖,专为 macOS 和 Linux 开发者终端设计。在供应链投毒事件频发的当下,这种"只读扫描、零侵入"的思路值得每个团队认真看看。 npm 上的恶意包、PyPI 的仿冒库...