Python:格式化输出

标准格式

字符串格式化话的标准形式为"Template String " % (Data)

模板字符串


%+8.6f

  1. 转换开始标志%
  2. 转换标志
  3. 最小宽度
  4. 精度,用小数点隔开
  5. 转换类型

示例1:

"%d" % 18
输出结果为“18”,按照上面的格式,这个是最简单的字符串模板,
占位符%d会被一个整数替换,而这个整数 就在%的后面Data所在的位置。

"%d %f" % (19,19.1)
当多于一个数的时候将其表示为元组的形式。

示例2:

"%10d" % 18

将会输出


最小宽度:
总共占据了10个字符的宽度,这里的10,就是最小宽度的标志。

转换标志:
而上面的转换标志则是"+""-"或者“0”之间的一个

  1. “+” 右对齐,默认形式


  2. “-” 左对齐


  3. “0” 用0填充空出的位置

示例3:

"%-10.5f" % 18.3
输出为:"18.30000 ",小数部分为5位,不足使用0填充,整个字符串为10位,不足用空格填充,左对齐。

这个格式 就组合了所有的模板类型,用-表示左对齐,空格填充,
10表示最小长度,
5表示小数部分长度.

注意:
这里注意了,如果整数 部分长度加上小数点后面要求的最小长度大于其前面要求的整体的最小长度,则整体的最小长度无效。

示例4:

"%-*.*f" % (10,5,18.3)
结果:

可以猜测出,这里的*起到了占位符的作用,使得最小长度在后面的Data区指定。

示例5:

针对字典操作

nameAge={'lijian':10,'liyue':9}
print("lijian's age: %(lijian)d" % nameAge)

结果:


用%(key)作为占位符,后面接转换类型d,后面的Data区用一个含有key的字典。可以直接得到相应的value。
这里的d还可以换成上面复杂的格式模板,如"-10.5f"

扩展形式


上面的示例都是使用的%表示Data区,并且格式相对稳定,只是比C中多了一个字典的方式,其他的区别不大。 而python的字符串提供了一种更高级的方法。

s.format(args,kwargs)
该形式可认为是一种函数调用。

示例6:

"{0},{2},{1}".format(one,2,3)
结果为"one,2,1",这个过程是使用{index}作为占位符,后面的args列表中相应下标的数据会替换之。

示例7:

"{0},{2},{1},{str}".format(one,2,3,str="string")
结果为"one,2,1,string",由上面可以前3个依次被列表的索引所替换,而最后一个则被*kwargs字典所替换,这样就 不止局限于index了。

示例8:

如果列表中的元素是字典,那么还可以用{0[key]}的形式直接替换字典里面的值。

nameAge={"zhang":10,"wang":11,"li":32} 
"wang's age is {0[wang]}d".format(nameAge) 

结果如上面的示例5结果一样。

示例9:

对数据的格式还可以进行进一步的控制

"{0:10},{1:>10.5f},{str:10}".format(one,2,3.2,str="string")
结果为"stirng , 1.30000,string "

在原有的基础上加上冒号和标准形式中定义的格式转换符即可,但是这里要注意了,其对齐不在用“+”和“-” 而是

  1. < 右对齐
  2. > 左对齐
  3. ^ 两边对齐
    在上面对齐格式前面加字符表示填充符。如“=^”则为中间对齐,空格用=填充。其格式转换符也有点区别。

转载

http://gotajuly.blog.51cto.com/2771348/925257

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 用python处理数据时,不管是直接打印结果展示还是函数返回值,经常需要格式化输出,对于一些特殊的用法,偶尔会忘记...
    小蜗牛的成长阅读 1,360评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 输出信息使我们获取程序调试信息的重要渠道; 恰到好处的输出格式能帮我们直观的查看调试信息。 常用格式化符种类及描述...
    老黄爱Python阅读 2,857评论 0 3
  • # 格式化输出字符串 print('%.3s'%'zhouzhou')#前3print('%.*s'% (6,'z...
    小螳螂阅读 830评论 0 0
  • 又是一个路口,再次选择一个方向,或许殊途同归,或许就此千差万别。 人生,难得糊涂。有资格说这句话的人,首先要先活的...
    剑阁小屋阅读 496评论 1 0