来源: realpython.com
38
一个 Python 脚本随手写起来很容易,但写得"有结构"却常被忽略。shebang 行怎么写、import 分组顺序、常量放哪、入口函数怎么组织——这些细节看似琐碎,却直接影响脚本的可读性、可维护性和跨平台可移植性。下面逐项拆解,并给出一份可直接套用的模板。 shebang 是脚本第一行 开头的声明,告诉操作系统用哪个解释器执行文件。Python 脚...
来源: blog.rust-lang.org
36
Rust 在工业界的落地速度越来越快——从 Linux 内核到 Android、从 Cloudflare 的网络边缘到 AWS 的虚拟化层,关键基础设施对 Rust 的依赖正在加深。但支撑这些能力的,是一群长期靠志愿劳动维持编译器、标准库、Cargo、Clippy 等核心组件的人。最近一个令人不安的趋势是:部分关键维护者因所在公司预算调整,失去了做 R...
来源: blog.python.org
42
Python 3.15.0 beta 2 已经出炉,这是正式发布前的倒数第三个 beta 版本。beta 阶段意味着不再接受新特性(feature freeze 已过),后续版本只会修 bug 和做小调整。如果你有库或项目需要兼容 3.15,现在就是最佳验证窗口——等到 release candidate 再测,留给修问题的时间就很短了。 Python...
来源: realpython.com
33
程序不是越快越好。限速调用外部 API、轮询等待资源就绪、模拟用户操作节奏——这些场景都需要让代码"停一停"。Python 提供了不止一种暂停方式,选错工具会让整个进程卡死,选对了则既不浪费 CPU 又不拖慢其他任务。 下面从最基础的 开始,逐步升级到装饰器、多线程和 asyncio,每种方式附带可直接运行的代码。 让当前线程挂起指定秒数,精度取决于操...
来源: infoq.com
39
Starlette 是 Python Web 生态中用量最广的轻量框架之一——每周下载量 3.25 亿,FastAPI、Uvicorn 的底层 HTTP 处理都依赖它。而最近披露的 BadHost 漏洞(高危),让一个看似不起眼的 HTTP Host 头,变成了绕过路径级访问控制的钥匙。对于把 Starlette 当作 AI 代理、LLM 网关、模型评...
来源: infoq.com
41
Starlette 是 Python 生态中用量最大的 Web 框架之一——每周下载量 3.25 亿,FastAPI、Uvicorn 等基础设施都直接依赖它。最近披露的 BadHost 漏洞(高危)揭示了一个容易被忽视的问题:当路径级访问控制遇上畸形的 HTTP 头,防线会从根部断裂。对于暴露在公网的 AI Agent 服务、LLM Gateway 和...
来源: realpython.com
37
正则表达式是文本处理的瑞士军刀——用几行模式就能完成原本需要几十行字符串操作才能做的事。Python 的 模块把这套工具直接搬进了标准库,但不少开发者对字符类、锚点、分组、交替和标志位的理解还停留在"能跑就行"的阶段。这篇文章把这些核心概念串起来,配上可以直接复制运行的代码,帮你从"凑出个模式"升级到"写出精准模式"。 字符类(character cl...
来源: realpython.com
46
Python 的生态之所以能持续演进,靠的不是某个核心团队的独断,而是 PEP(Python Enhancement Proposal)这套公开提案机制。Real Python 第 297 期播客里,Brett Cannon 回来聊了他最近参与的几项 PEP——从模块命名混乱、虚拟环境目录约定,到 Protocol(结构化子类型)。这些问题看似琐碎,但...
来源: realpython.com
31
很多开发者对 的理解停留在"写个检查,报错就停"的层面,但它在 Python 里有明确的设计意图和使用边界。搞清楚这些,你才能在调试、测试和文档化代码时真正发挥它的价值,而不是在生产环境里埋雷。 语句的完整语法是: 如果 为假,抛出 ,并把 作为错误信息;如果为真,什么都不发生。本质上它等价于: 关键点在于 。这个内置常量默认为 ,但当 Python ...
来源: realpython.com
41
Python 官方文档里有一块容易被忽略的宝藏:语言参考中的 grammar 规则。它们用 BNF(Backus-Naur Form)记法写成,看起来像枯燥的形式化定义,但一旦你学会读它,就能精确理解每一个语法构造的边界——哪些写法合法、哪些不合法,以及为什么。这篇文章带你拆解 BNF 记法,并用它回答几个日常编程中容易踩坑的语法问题。 BNF 是一种...