如何在Quarto Markdown段落中内联访问Python参数?
在Quarto .qmd中嵌入Python变量到Markdown段落的方法
核心实现方式:Quarto内联代码执行语法
Quarto支持在Markdown段落中通过`{{ var_name }}`语法直接调用Python变量,这是官方原生支持的方案,完全匹配你的需求:
操作示例
- 先在代码块中定义Python变量:
years = 5.0 event_count = 123
- 在Markdown段落中直接引用:
……经过
{{ years }}年,我们发现了{{ event_count }}个XYZ事件实例……
渲染后变量会自动替换为实际值,无需在段落外使用f-string。
解决浮点数尾零问题
针对你提到的浮点数多余尾零的问题,无需提前格式化变量,直接在内联引用时处理即可:
- 强制保留整数格式(适用于确定为整数的浮点数):
……经过
{{ "{:.0f}".format(years) }}年……
- 智能判断格式(整数浮点数显示为整数,非整数保留原格式):
……经过
{{ int(years) if years.is_integer() else years }}年……
全局统一配置(扩展方案)
如果需要批量处理所有浮点数的显示格式,可以在.qmd文件的YAML头部添加全局配置:
format: html: execute: python: options: formatter: !expr lambda x: "{:.0f}".format(x) if isinstance(x, float) and x.is_integer() else x
该配置会让所有浮点数在内联输出时自动去除多余尾零。
注意事项
- 确保使用最新版本的Quarto,旧版本可能不支持
`{{ }}`内联语法 - 在VS Code中需确认Jupyter Kernel已正常连接,且变量所在的代码块已执行
内容的提问来源于stack exchange,提问作者David M Vermillion
相关产品推荐
相关产品推荐

