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 ...
随机推荐
- python help(int)
class int(object) | int(x=0) -> integer | int(x, base=10) -> integer | | Convert a number or s ...
- 一篇文章搞定面试中的二叉树题目(java实现)
最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的. 先上二叉树的数据结构: class TreeNode{ int val; //左孩子 TreeNode left; //右孩子 ...
- LuoguP2320/CF1037A 用二进制表示数的奥妙重重方法 By cellur925
题目描述 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各诸侯车的特派员前来向他咨询时政. 有一天,他在咸阳游历的时候,朋友告诉他在咸阳最大的拍卖行(聚宝商行)将要举行一场拍卖会,其中有一件宝物引起了 ...
- c++中的虚函数是什么东西?
#include <iostream> #include<string> #include<vector> using namespace std; class A ...
- AtCoder Grand Contest 017 A
Problem Statement There are N bags of biscuits. The i-th bag contains Ai biscuits. Takaki will selec ...
- About set HDU - 4680
https://vjudge.net/problem/HDU-4680 一直想写,终于写完了... 要点: 这个set不需要去重 操作4的做法就是暴力枚举取的数(最开始两个取set中最小两个,设这次取 ...
- Seek the Name, Seek the Fame POJ - 2752
Seek the Name, Seek the Fame POJ - 2752 http://972169909-qq-com.iteye.com/blog/1071548 (kmp的next的简单应 ...
- h5-18-文件操作-兼容判断
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 在linux中使用多个redis端口来构建redis集群
大家好,这是我制作的redis集群搭建视频教程. 服务器:ubnutu server(版本18.10) redis:redis-4.0.12 我这里就简单说明下大概步骤了,详细请观看教学视频. 首先更 ...
- Java并发——ThreadPoolExecutor线程池解析及Executor创建线程常见四种方式
前言: 在刚学Java并发的时候基本上第一个demo都会写new Thread来创建线程.但是随着学的深入之后发现基本上都是使用线程池来直接获取线程.那么为什么会有这样的情况发生呢? new Thre ...