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

Python 3.8自文档表达式:如何实现变量值换行打印?

实现变量名与DataFrame值分行打印的几种方法

当然可以做到!针对你提到的f'{var=}'输出时变量名和DataFrame内容挤在一行的问题,这里有几个实用的解决方案:

方法1:字符串替换快速解决

最简单的方式是利用字符串替换,把{var=}生成的字符串里的=替换成=\n,这样变量名会单独占一行,值在下一行展示:

import pandas as pd
df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion', 'monkey']})

# 替换=为=\n,实现分行
print(f'{df=}'.replace('=', '=\n'))

输出效果:

df=
      animal
0  alligator
1        bee
2      falcon
3        lion
4      monkey

方法2:手动拆分输出(更直观可控)

如果你想完全掌控输出格式,可以分开打印变量名行和变量值:

import pandas as pd
df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion', 'monkey']})

# 提取变量名并单独打印,再输出DataFrame内容
print(f'{df=}'.split('=')[0] + '=')
print(df)

这个方法的好处是可以灵活调整变量名行的样式,比如添加分隔线、高亮标记等。

方法3:通用工具函数(适合频繁使用)

如果经常需要打印这类多行变量,可以写一个通用函数,自动识别变量名并实现分行打印:

import inspect
import pandas as pd

def print_var(var):
    # 自动获取变量名称(从调用上下文的局部变量中匹配)
    frame = inspect.currentframe().f_back
    var_name = next(k for k, v in frame.f_locals.items() if v is var)
    print(f'{var_name}=')
    print(var)

# 使用示例
df = pd.DataFrame({'animal': ['alligator', 'bee', 'falcon', 'lion', 'monkey']})
print_var(df)

这个函数不需要手动传入变量名,会自动识别,用起来非常省心,适合调试时频繁打印复杂变量的场景。

以上几种方法都能满足你的需求,根据实际使用场景选择就好~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:27:10