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

如何用制表符 、换行符 等空白字符格式化Python函数输出?

Python函数返回结果格式化方案
  • 别纠结转义空白字符了,这类字符(比如\t)的显示宽度不固定,很容易出现对齐混乱,推荐用固定宽度字符串格式化来实现整齐的输出,这是最靠谱的方式。
  • 用f-string(Python3.6+支持)直接控制每段内容的对齐方式和宽度:
    # 示例:格式化返回的多字段数据
    def user_info():
        return [("张三", 28, "后端开发"), ("李四", 32, "产品经理"), ("王五", 24, "UI设计")]
    
    # 左对齐、右对齐配合固定宽度,实现列对齐
    for name, age, job in user_info():
        print(f"{name:<8} {age:>4}岁 {job:<10}")
    
    输出会自动对齐每一列,:<8表示左对齐且占8个字符宽度,:>4表示右对齐占4个字符宽度,根据你的实际数据调整宽度即可。
  • 如果是处理长文本换行和缩进,用textwrap模块更省心:
    import textwrap
    
    def long_result():
        return "你需要格式化的长文本内容,可能包含多个段落或者很长的句子,用这个方法可以指定每行宽度,自动换行并保持缩进一致。"
    
    # 设置每行宽度30,首行和后续行都缩进2个空格
    formatted = textwrap.fill(long_result(), width=30, initial_indent="  ", subsequent_indent="  ")
    print(formatted)
    
  • 要是需要更复杂的表格样式,也可以用str.format()实现,和f-string逻辑类似,只是写法不同:
    print("{:<8} {:>4} {:<10}".format("姓名", "年龄", "职位"))
    for name, age, job in user_info():
        print("{:<8} {:>4} {:<10}".format(name, age, job))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:15:38