标签

Python

用 PEP 和 Protocol 让 Python 项目更规范

来源:realpython.com 34
Python 的生态之所以能持续演进,靠的不是某个核心团队的独断,而是 PEP(Python Enhancement Proposal)这套公开提案机制。Real Python 第 297 期播客里,Brett Cannon 回来聊了他最近参与的几项 PEP——从模块命名混乱、虚拟环境目录约定,到 Protocol(结构化子类型)。这些问题看似琐碎,但...

Python assert:用对了是利器,用错了是隐患

来源:realpython.com 18
很多开发者对 的理解停留在"写个检查,报错就停"的层面,但它在 Python 里有明确的设计意图和使用边界。搞清楚这些,你才能在调试、测试和文档化代码时真正发挥它的价值,而不是在生产环境里埋雷。 语句的完整语法是: 如果 为假,抛出 ,并把 作为错误信息;如果为真,什么都不发生。本质上它等价于: 关键点在于 。这个内置常量默认为 ,但当 Python ...

用 BNF 读懂 Python 语法规则——官方文档里的隐藏地图

来源:realpython.com 28
Python 官方文档里有一块容易被忽略的宝藏:语言参考中的 grammar 规则。它们用 BNF(Backus-Naur Form)记法写成,看起来像枯燥的形式化定义,但一旦你学会读它,就能精确理解每一个语法构造的边界——哪些写法合法、哪些不合法,以及为什么。这篇文章带你拆解 BNF 记法,并用它回答几个日常编程中容易踩坑的语法问题。 BNF 是一种...

Kimi Code 全面转向 TypeScript:Python CLI 工具的语言迁移实践

来源:oschina.net 31
Moonshot AI 的 Kimi Code 产品线刚完成了一次硬核的技术栈切换——曾经以 Python 为主力语言的 kimi-cli 正式进入停止维护阶段,取而代之的是以 TypeScript 构建的 kimi-code。从 GitHub 仓库的语言占比来看,这次迁移不是"加一点 TS 补补短板",而是彻底翻转:kimi-cli 仓库 Pytho...

VirtualEnv 21.4.0:Python 虚拟环境工具的持续精简

来源:oschina.net 31
Python 项目多了,依赖冲突几乎是必然事件——A 项目要 Django 3.2,B 项目要 Django 4.1,全局 一装就打架。VirtualEnv 从根上解决这个问题:每个项目一套独立运行环境,互不干扰,部署时整包带走,服务器上不用再折腾依赖。 21.4.0 版本延续了近几个版本的"瘦身"路线,改动不大但方向明确。 从 changelog 看...

用 Python 发邮件:从纯文本到批量个性化,SMTP 实战全流程

来源:realpython.com 15
邮件自动化是后台系统里最常见的需求之一——注册确认、告警通知、周报推送,几乎都离不开它。Python 标准库自带 和 ,不用装任何第三方包就能把邮件从代码里发出去。但"能发"和"发得好"之间,隔着 HTML 格式、附件处理、批量个性化这几道坎。下面逐个拆解。 SMTP 协议的核心流程只有三步:连接服务器 → 登录认证 → 发送消息。 把这三步封装成了方...

用 Python 标准库发邮件:从纯文本到附件、HTML 与回复路由

来源:realpython.com 34
日常开发中,发邮件的需求比想象中更频繁——监控告警、定时报表、用户通知,甚至 CI 流程里的构建结果推送。很多人第一时间想到第三方 SDK,但 Python 标准库的 + 已经覆盖了绝大多数场景,不需要额外依赖,也不受服务商 API 限制。 下面从最简单的纯文本邮件起步,逐步叠加 HTML、附件和回复路由,每一步都给出可直接运行的代码。 Python ...

Azure Logic Apps 里跑 Python 和 JS:沙箱代码解释器让集成工作流变成 Agent 平台

来源:infoq.com 25
Logic Apps 过去是"连线工"——用预置连接器把 SaaS 服务串起来,逻辑靠条件分支和表达式拼凑。现在它多了一项硬能力:沙箱代码解释器。工作流中的 Agent 可以在运行时动态生成 Python、JavaScript、C#、PowerShell 代码,并在 Hyper-V 隔离会话中执行。这意味着 Logic Apps 从"编排引擎"正式跨入...

AlmaLinux 双版本齐发:9.8 与 10.2 稳定版升级要点与实操

来源:oschina.net 18
AlmaLinux OS Foundation 这次一口气放出了两个稳定版——9.8 "Olive Jaguar" 和 10.2 "Lavender Lion"。对于从 CentOS 迁移过来的团队而言,双线并行发布意味着你既可以在成熟的 9.x 系列上稳扎稳打,也能在 10.x 新分支上提前验证未来基础设施。下面拆解两个版本的关键变化,并给出可直接跑...