分类

文章

Python 测试与 CI 实战:从 pytest 到 GitHub Actions 的关键决策点

来源: realpython.com 33
写 Python 项目时,"跑一下没报错"是最常见的验证方式。但项目一旦多人协作、持续迭代,手动验证就不可靠了——测试框架、Mock 策略、代码质量工具、CI 流水线,每一层都影响交付节奏。这篇文章把 unittest、pytest、mock、代码质量工具和 GitHub Actions 串联起来,给出可直接落地的配置和代码。 Python 标准库自带...

Python I/O 与字符串格式化:那些容易被忽略的关键细节

来源: realpython.com 23
、、、、f-string——这些是每个 Python 初学者最早接触的函数,但恰恰因为"太基础",不少开发者用了很多年依然会在细节上踩坑。比如 到底删什么字符?format mini-language 里的 和 有什么区别?f-string 里能不能调用函数?这篇文章把这些点逐一拆开,配上可运行的代码,帮你把基础真正夯实。 总是返回字符串,不管用户敲的...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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