python的2种字符串格式化输出
字符串格式化代码(typecode)


法一:
%格式使用下面的格式
%[(name)] [flags] [width][.precision] typecode
(name)输出字典的value使用,这里的name是字典的key(实际指定时,必须有外面的圆括号)
如:
print("%(n)d %(x)s" % {"n":1,"x":'spam'})
print("%(n)d %(x)s" % dict(n=1,x='spam'))
注意:这种形式不能与其他形式混用,因为%后使用了{}或dict,这两种形式只能够针对”字典”
flags取值为:-(左对齐)、+(正负号)、0(补零),不使用任何flag数字默认是右对齐
[width]和[.precision],分别为总宽度(包括小数点)和精度(小数点后的位数),可指定为*,则须在后面的列表中明确指出具体数值(一般情况下很少指定width和precision为*)
typecode:上表中的格式化代码




法二:format方法
形式.格式
形式:两种表示方式,位置参数(格式安装位置指定即可)和关键字参数(格式必须按照name=‘value’指定)



注意:最后这种形式,形式是以关键字执行,格式必须以name=value形式指定
要被打印的部分(即形式)通用格式:
{fieldname!conversionflag:formatspec}
fieldname是指定参数的一个数字或关键字(由此来确定匹配后面哪个参数),后面跟可选的“.name”或“[index]”成分引用
conversionflag可以是r、s或a分别是在该值上对repr、str或ascii内置函数的一次调用。
formatspec指定了如何表示该值,包括字段宽度、对齐方式、补零、小数点精度等细节,并且以一个可选的数据类型编码结束
冒号:后的formatspec具体形式为:
[[fill]align] [sign] [#] [0] [width] [.precision] [typecode]
fill可取0,即前导补0
align可能是<(左对齐)、>(右对齐)、=(一个标记字符后的补充)、^(居中对齐)
字符串默认是左对齐,数字默认是右对齐
sign可取逗号 , 在使用输出代码为d时(只能配合d使用),每三个数字输出一个逗号
>>> '{0:,d}'.format(999999999)
'999,999,999'
#配合输出代码x或X或o,使输出16进制、8进制数前导加0x或0X或0o
0补0
width表示总宽度,包括小数点位
[.precision]表示精度,小数点后的位数
typecode前面的输出代码

>>> '{0:X},{1:o},{2:b}'.format(255,255,255)
'FF,377,11111111'
>>> '{0:#X},{1:o},{2:b}'.format(255,255,255)
'0XFF,377,11111111'

python的2种字符串格式化输出的更多相关文章
- Python基础(十五):Python的3种字符串格式化,做个超全对比!
有时候,为了更方便.灵活的运用字符串.在Python中,正好有3种方式,支持格式化字符串的输出 . 3种字符串格式化工具的简单介绍 python2.5版本之前,我们使用的是老式字符串格式化输出%s. ...
- python的三种字符串格式化方法
1.最方便的 print 'hello %s and %s' % ('df', 'another df') 但是,有时候,我们有很多的参数要进行格式化,这个时候,一个一个一一对应就有点麻烦了,于是就有 ...
- python基础之 while 逻辑运算符 格式化输出等
1.while循环 while 条件: 循环体 while 条件: 循环体 else: 循环体 重点: 当条件为真的时候,就进入循环体,从上到下依次执行,执行完最后一条语句时,while并不是直接退出 ...
- Python中日期和时间格式化输出的方法
本文转自:https://www.jb51.net/article/62518.htm 本文实例总结了python中日期和时间格式化输出的方法.分享给大家供大家参考.具体分析如下: python格式化 ...
- [JS] 如何自定义字符串格式化输出
在其他语言中十分常见的字符串格式化输出,居然在 Javascript 中不见踪影,于是决定自己实现该方法,以下就是个人编写的最简洁实现: String.prototype.format = funct ...
- js 获取字符串的 像素 宽度 ----字符串格式化输出
function getLenPx(str, font_size) { var str_leng = str.replace(/[^\x00-\xff]/gi, 'aa').length; retur ...
- 字符串格式化输出、while循环、运算符、编码
1.字符串格式化输出 %占位符: %s => 字符串 %d=>整数型 %%=>转义 普通的% %()不能多,不能少,一一对应 f"{}"大括号里的内容一般都放变量 ...
- python字符串格式化输出
python格式化输出 python格式化输出有两种方式:百分号和format format的功能要比百分号方式强大,其中format独有的可以自定义字符填充空白.字符串居中显示.转换二进制.整数自动 ...
- Python 字符串格式化输出方式
字符串格式化有两种方式:百分号方式.format方式. 其中,百分号方式比较老,而format方式是比较先进的,企图替代古老的方式,目前两者共存. 1.百分号方式 格式:%[(name)][flags ...
随机推荐
- hdoj1394
题意还告诉我们是0-n-1之间的数,那么我们每次把一个数放到后面去,求一下比他大的,还有比他小的: 比如: 1 3 6 9 0 8 5 7 4 2 逆序数num:22 3 6 9 0 8 5 7 4 ...
- c# KeyDown KeyPress 函数中event 的 Handled属性
很奇怪的 KeyDown中的 Handled.true 只能使 Keys.Back 这类失效, 如果要使比如数字失效,必须设置一个变量 _bHandled = true 然后在紧接着会触发的 KeyP ...
- bzoj 2460: [BeiJing2011]元素【线性基+贪心】
先按魔力值从大到小排序,然后从大到小插入线性基中,如果插入成功就加上这个魔力值 因为线性基里是没有异或和为0的集合的,所以正确性显然,然后最优性,考虑放进去一个原来没选的,这样为了可行性就要删掉一个, ...
- IT兄弟连 Java Web教程 经典面试题2
1.Servlet的工作流程? Servlet是运行在Servlet容器中的,由Servlet容器来负责Servlet实例的查找.创建以及整个生命周期的管理,Servlet整个生命周期可以分为四个阶段 ...
- 51NOD 1134 最长上升子序列
给出长度为N的数组,找出这个数组的最长递增子序列.(递增子序列是指,子序列的元素是递增的) 例如:5 1 6 8 2 4 5 10,最长递增子序列是1 2 4 5 10. 输入 第1行:1个数N, ...
- Linux下自动还原MySQL数据库的Shell脚本
创建shell脚本topjui_source.exp,内容如下: #!/usr/bin/expect spawn echo "###### running... ######" s ...
- threading多线程模块
1 基本实现 Thread(target=函数名,args=(以元组形式传递的实参,要加",")) th = threading.Thread(target=run,args=(i ...
- Codeforces 1107E(区间dp)
用solve(l, r, prefix)代表区间l开始r结束.带了prefix个前缀str[l](即l前面的串化简完压缩成prefix-1个str[l],加上str[l]共有prefix个)的最大值. ...
- 日历 php
<?php $year=@$_GET['year']; //获得地址栏的年份 $month=@$_GET['month']; //获得地址栏的月份 if(empty($year)) $year= ...
- [在读]functional javascript
讲javascript函数化编程的一本书,逛淘宝正好看到有一家卖英文书的,顺手就买了,目前搁置.