You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何在断言消息中直接引用断言表达式的结果?

解决方案

Python本身并没有你设想的%0、%1这种直接绑定比较表达式结果的语法,但可以用海象运算符(Python 3.8及以上版本支持)实现一行式的需求,不用提前单独赋值:

assert (x_val := 你的复杂长表达式x) == (y_val := 你的复杂长表达式y), f"Ensure x {x_val} is equal to y {y_val}."

原理很简单:海象运算符:=允许你在计算表达式的同时,把结果赋值给变量,这样在同一个断言语句里,你就能直接在f-string里引用这些变量,避免重复书写冗长的表达式。

要是你用的是Python 3.8以下的版本,那确实没办法在一行里完全避免重复表达式,只能提前赋值后再写断言。

内容的提问来源于stack exchange,提问作者Fabian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:10:28