Python格式化打印

一般框架

tplt = ''                       #格式化模板
print(tplt.format(....))         #填充内容


tplt = '{0}-{1}+{2}={3}'
{}表示了一个槽,槽里面的内容使用key:value表示,key取值为自然数,表示序号,与后面format()的参数列表对应,value设置槽的格式,可由以下属性组合:

字符    用于填充单个字符
<       左对齐
>       右对齐
^       居中对齐
数字    槽的宽度
,       数字的千位分隔符
.数字   浮点小数的精度或字符串的最大输出长度
类型    整型b,c,d,o,x,X,浮点型e,E,f,%

format('a', 'b','c','d'),'a'填充到槽1内,'b'填充到槽2内,'c'填充到槽3内,'d'填充到槽4内

例1 输出pi的逼近值

# -*- coding=utf-8 -*-
import math
import sys
from decimal import *
# bailey-borwein-plouffe formula calculating pi  
def bbp(n):
    pi=Decimal(0)
    k=0
    while k < n:
        pi+=(Decimal(1)/(16**k))*((Decimal(4)/(8*k+1))-(Decimal(2)/(8*k+4))-(Decimal(1)/(8*k+5))-(Decimal(1)/(8*k+6)))
        k+=1
    return pi

if __name__ == '__main__':
    tplt = '{0:^10}{1:<30f}'
    print('{0:^10}{1:^30}'.format('n','pi'))
    for i in range(1,10):
        print(tplt.format('n='+str(i**2), bbp(i**2)))

结果如下:

kang@USTC:~/workspace/python_spyder$ python3 test_format_print.py
    n                   pi
   n=1    3.133333333333333333333333333
   n=4    3.141592457567435381837004555
   n=9    3.141592653589752275236177867
   n=16   3.141592653589793238462593174
   n=25   3.141592653589793238462643381
   n=36   3.141592653589793238462643381
   n=49   3.141592653589793238462643381
   n=64   3.141592653589793238462643381
   n=81   3.141592653589793238462643381

例2 测试字符填充

>>> tplt = '{1:{2}^5}---{0}'
>>> print(tplt.format('0', '1', '*'))
**1**---0
>>> tplt = '{1:{2}<5}---{0}'
>>> print(tplt.format('0', '1', '*'))
1****---0
>>> tplt = '{1:{2}>5}---{0}'
>>> print(tplt.format('0', '1', '*'))
****1---0
>>> tplt = '{1:{2}^6}---{0}'
>>> print(tplt.format('0', '1', '*'))
**1***---0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,642评论 0 4
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 13,014评论 2 126
  • 又是一个周三日! 怎么说?感觉现在的讲课方式比以前的好多了,每位老师都会说出你的缺点,好让自己知道哪里有需要改进的...
    童心童画可乐老师1553463阅读 1,238评论 0 0
  • 天蓝蓝 犹如你悦动的心情 一双辫子 淡淡姿容 眉目如黛 在寻着什么呢?爱情么? 她浅浅一笑: 当年送我七里香的男孩...
    老馿阅读 1,099评论 0 0

友情链接更多精彩内容