标签

Python

写出可读 Python:从 19 条"之禅"原则到日常实践

来源: realpython.com 62
在 Python 解释器里敲一行 ,屏幕会刷出 19 条英文短句——这就是著名的 Zen of Python(PEP 20)。它不是空泛的口号,而是过去二十多年里 Python 社区对"好代码"的共识提炼。理解这些原则,能帮你写出别人愿意读、愿意接手的代码。 1999 年,Tim Peters 在 Python 邮件列表里用半开玩笑的语气把社区长期讨论...

Python 绝对导入与相对导入:写法、陷阱与选择

来源: realpython.com 50
一个稍大的 Python 项目, 语句几乎无处不在。但到底是写 ,还是写 ?两种风格各有拥护者,混用更是常见。搞清楚它们的语法边界和行为差异,能帮你避开不少"明明本地跑得好、一打包就炸"的坑。 绝对导入用项目的顶层包名作为起点,路径完整、不依赖当前文件位置: PEP 8 明确推荐绝对导入作为默认风格,理由很直接——路径一眼可读,IDE 跟踪跳转方便,模...

Python 之禅:19 条格言背后的取舍与实战

来源: realpython.com 64
输入 ,你会看到一段看似随意的诗句——这就是 Python 之禅,19 条指导原则,写于 1999 年,至今仍是 Python 社区最常引用的"设计宪法"。但多数人只把它当 Easter egg,读完一笑就关掉了。真正值得琢磨的是:这些格言之间本身就有张力,写真实代码时你不可能同时满足所有条。理解它们,不是背诵,而是学会在冲突中做判断。 运行下面这段,...

DjangoAdmin FastAPI+Layui v2.7.1:全局参数配置与可插拔组件的敏捷开发实践

来源: oschina.net 58
做后台管理系统,最耗时间的往往不是业务逻辑本身,而是重复的表单、上传、下拉选择这些基础设施。DjangoAdmin 敏捷开发框架的 FastAPI+Layui 版本 v2.7.1 刚发布,核心更新是新增了全局参数配置,并修复了一批用户反馈的问题。这个框架把 FastAPI 的高性能和 Layui 的前端组件体系缝合在一起,用自研的可插拔组件来压缩开发周...

用好 Python 内置函数,少写一半冗余代码

来源: realpython.com 66
很多 Python 开发者习惯遇到问题先翻第三方库,却忽略了标准解释器里那几十个随时可用、无需 import 的内置函数。它们覆盖数学运算、类型转换、迭代处理和 I/O,熟练掌握后,一段十行的手写循环往往能压缩到一行——而且更易读。 、、、、 是最常用的数学类内置函数。新手容易写出这样的累加: 直接用 即可。 和 同理——它们还支持 参数,按自定义规则...

NumPy 2.4.5:补丁修复与类型改进,该升级吗?

来源: oschina.net 54
NumPy 2.4.5 作为 2.4 系列的补丁版本,合并了 28 个拉取请求,重点修复了 2.4.4 发布后暴露的 bug,并做了一批类型标注改进。如果你正在用 2.4.x,这次升级几乎零风险——补丁版本不引入新特性,只修问题。 此版本支持 Python 3.11 至 3.14。注意 Python 3.14 目前仍在预发布阶段,NumPy 已经提前适...

统计计算语言大洗牌:Python 与 R 正在收割市场

来源: oschina.net 51
TIOBE 2026 年 5 月榜单出炉,最值得注意的不是 Java 反超 C++——那是老牌语言之间的排位拉锯——而是 R 再次冲到第八位,追平历史最高排名。TIOBE CEO Paul Jansen 明确表态:这不是偶然波动,统计编程语言市场正在经历一场真正的洗牌。Python 和 R 是赢家,而曾经割裂统计计算领域的众多小众语言和平台,正在被逐步...

Agent 架构反思:为什么文件不是万能的上下文容器

来源: realpython.com 61
Agent 系统正在从"单次问答"走向"多步自主执行",但很多团队的第一反应是把所有中间状态塞进文件——日志、JSON、Markdown、临时输出——然后让 Agent 在下一步读取这些文件继续工作。看起来简单,跑起来却很快撞墙。与此同时,另一个极端也在制造问题:把整段对话、整份文档灌进超长上下文窗口,指望模型自己"记住一切",结果信息在注意力机制里被...

Python array 模块:用类型码和缓冲协议榨干数值存储的性能

来源: realpython.com 128
Python 列表什么都能装,代价是每个元素都是一个完整对象——整数 在列表里不是 4 字节,而是 28 字节起步。当你只需要存一串同类型数值, 模块用 C 连续内存把开销砍到原生的字节宽度。这篇文章把类型码、缓冲协议、可变序列行为和与列表的取舍一次讲透。 的第一个参数是类型码(type code),它决定了每个元素占多少字节、能存什么范围。常见类型码...

35MB 的完整游戏引擎 vs 280MB 的 Python 镜像:WebAssembly 正在重塑交付体积

来源: oschina.net 50
每个写过 Dockerfile 的人都有过这样的体验——,144MB 进来了;再装几个依赖,轻松突破 280MB。你只是想跑一个几百行的小服务,却要先搬运一个比整个 3D 游戏引擎还大八倍的运行环境。 开发者 Sergey Bogomolov 最近做了一件事:把一个完整的 3D 游戏引擎导出为 WebAssembly,结果整个二进制文件只有 35MB。...