Python中f-string里变量后缀=的语法解析
Python f-string 中
{变量名=} 语法解析 这是Python 3.8及以上版本新增的f-string语法糖,用来快速同时输出变量名和它的当前值,省去手动拼接变量名和值的麻烦。
核心实现逻辑
当f-string中出现{表达式=}的格式时,Python会自动执行以下操作:
- 保留
=左侧的表达式原文(比如变量名data,或者更复杂的表达式如x*2) - 计算表达式的结果,按照和普通f-string
{表达式}一致的规则转换成字符串 - 将「表达式原文 +
=+ 结果字符串」组合成最终输出内容
示例验证
- 基础变量场景(即你给出的代码):
data='a,b,c' print(f'{data=}')
输出:data='a,b,c'
这里值的字符串格式和直接写{data}完全一致,原变量是带引号的字符串,输出里的值也保留引号。
- 数字变量场景:
num = 42 print(f'{num=}')
输出:num=42
数字类型的值不需要引号,直接输出计算结果。
- 复杂表达式场景:
x = 10 print(f'{x * 2=}')
输出:x * 2=20
支持直接写表达式,会保留表达式的写法,再输出计算后的结果。
- 搭配格式说明符场景:
pi = 3.1415926 print(f'{pi=:.2f}')
输出:pi=3.14
格式说明符(这里的.2f)只作用于表达式的结果,不会影响左侧的表达式原文。
内容的提问来源于stack exchange,提问作者nicku
相关产品推荐
相关产品推荐

