您的位置:首页 > 编程语言 > Python开发

python格式化输出

2018-09-28 09:18 453 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dongcheng_/article/details/82876186

格式化输出方式在Python中主要有2种实现方式:"%"以及format,前者是从C借鉴过来的语法,但是这对于拥有很多先进数据结构的Python来说有点力不从心,Python中的元组、列表、字典等不适合这种结构表示,所以需要更合适的format,它是借鉴C#的语法。

以%形式格式化输出

格式 描述
%% 百分号标记
%c 字符及其ASCII码
%s 字符串
%d 有符号整数(十进制)
%u 无符号整数(十进制)
%o 无符号整数(八进制)
%x 无符号整数(十六进制)
%X 无符号整数(十六进制大写字符)
%e 浮点数字(科学计数法)
%E 浮点数字(科学计数法,用E代替e)
%f 浮点数字(用小数点符号)
%g 浮点数字(根据值的大小采用%e或%f)
%G 浮点数字(类似与%g)
%p 指针(用十六进制打印值的内存地址)
%n 存储输出字符的数量放进参数列表的下一个变量中

format格式输出

通过位置标号

format里面的参数可用任意多次,只要和前面的对应上就可以,编号从0开始

print('hello,{0},{1},{0}'.format("tom","jerry"))
[/code]

通过关键字参数

类似与函数中的命名参数,由于每个参数都有名字,所以对参数顺序不做要求,但是,此种情况下不能用位置标号

print("tom's age is {tom}, jerry's age is {jerry}".format(tom = 12,jerry = 13))
[/code]

通过属性下标

在某些时候传入的参数是列表、元组或者其他格式的时候,使用序列的下标访问具体的某个值

print("tom's age is {0[0]}, jerry's age is {0[1]}".format(["tom","jerry"]))
[/code]

小数的表示

print("tom's age is {0:.2}, jerry's age is {0:.3}".format(10/3))
[/code]

具体参见下表

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
-1 {:+.2f} -1 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00E+09 指数记法
25 {0:b} 11001 转换成二进制
25 {0:d} 25 转换成十进制
25 {0:o} 31 转换成八进制
(25 {0:x} 19 转换成十六进制

对齐与填充

数字 格式 输出 描述
5 {:0>2} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x^4} x10x 数字补x (填充右边, 宽度为4)
13 {:10} 13 右对齐 (默认, 宽度为10)
13 {:<10} 13 左对齐 (宽度为10)
13 {:^10} 13 中间对齐 (宽度为10)
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: