Python中如何用f-string简洁实现变量名与值的调试输出
f-string调试简写方案
Python 3.8 及以上版本的f-string原生支持变量名+值的快速调试输出语法,核心用法是在花括号内的变量名后直接加=,解释器会自动按照「变量名=变量值」的格式拼接输出内容,完全不需要重复书写变量名。
示例改写
你给出的原始调试代码可以直接简化为:
[first_name, last_name, age] = ["Randall", "Munroe", 37] print(f"{first_name=} {last_name=} {age=}")
运行后输出结果为:
first_name='Randall' last_name='Munroe' age=37
和原本手写重复变量名的输出逻辑完全一致,仅字符串类型的值会默认携带单引号,调试场景下不仅不影响使用,还能更清晰地区分值类型。
扩展用法
- 该写法完全兼容普通f-string的格式化控制逻辑,在
=后正常添加格式说明符即可控制值的输出格式,比如要将age格式化为3位补零的数字,写法为{age=:03d},对应输出为age=037 - 可以根据排版需求在
=前后手动添加空格,比如写法为{first_name = }时,对应输出就会变成first_name = 'Randall'
如果在较早版本的格式化字符串语法文档中没查到这个特性很正常,这个调试专用语法糖是Python 3.8版本才正式加入的,低于3.8的版本无法使用该写法。
内容的提问来源于stack exchange,提问作者Pyfisch
相关产品推荐
相关产品推荐

