浅谈format格式化输出

Posted 奶茶,我只要敌敌畏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈format格式化输出相关的知识,希望对你有一定的参考价值。

什么是format?

相对于基本格式化输出采用“%”的方法,format的功能强大,该函数把字符串当一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%”,有点类似C#里面的占位符

1format的基本用法

不带编号,即“{}”

带数字编号,可调换顺序,即“{1}",“{2}”

带关键字,即“{a}","{tom}"

 

例如:

name = "Sandy"

gender = "女"

age = 18

print("姓名:%s, 性别:%s 年龄:%d" %(name, gender, age))

print("姓名:{}, 性别:{} 年龄:{}" .format(name, gender, age))

# 有了数字编号可以反复调用

print("姓名:{0}, 性别:{1} 年龄:{2} 学生姓名:{0}" .format(name, gender, age))

# 标识名称更容易读懂

print("姓名:{name}, 性别:{gender} 年龄:{age} 学生姓名:{name}" .format(name=name, gender=gender, age=age))

 

演示:

 

 

2)format的进阶用法

<(默认)左对齐,> 右对齐,^ 中间对齐

取位数“{:4s}","{:.2f}"等

 

如:

print("姓名:{:10}" .format(name)) #默认左对齐

print("姓名:{:<10}" .format(name)) #标识左对齐

print("姓名:{:>10}" .format(name)) #右对齐

print("姓名:{:^10}" .format(name)) #中间对齐

print("{:.2f}" .format(3.1415926)) #保留2位有效数字

print("{:10.2f}" .format(3.1415926)) #保留2位有效数字默认右对齐

print("{:>10.2f}" .format(3.1415926)) #保留2位有效数字指明右对齐

print("{:<10.2f}" .format(3.1415926)) #保留2位有效数字指明左对齐

print("{:^10.2f}" .format(3.1415926)) #保留2位有效数字中间对齐

演示:

 

3format 数值

  • "b" 二进制,数字以2位基数进行输出
  • "c" 字符,在打印之前将整数转换成对应的unicode字符串
  • "d" 十进制数,数字以10为基数进行输出
  • "o" 八进制数,数字以8为基数进行输出
  • "x" 十六进制数,数字以16为基数进行输出,9位以上用a-f表示
  • "e" 幂符号,用科学计数法打印数字。用"e"表示幂
  • "g" 一般格式,数字以fixed-point进行输出,当数值特别大的时候,用幂形式打印
  • "n" 数字,当值为整数时和"d"相同,值为浮点数是和"g"相同,不同的是他会根据区域设置插入数字分隔符。
  • "%" 百分数,数值乘以100打印,保留6位小数,值后面会有一个百分号
  • "," 千位分隔符,货币表示或者大数据值经常用到

 

如:

num01,num02=200,300

print("十六进制打印:{0:x} {1:x}" .format(num01, num02))

print("八进制打印:{0:o} {1:o}" .format(num01, num02))

print("二进制打印:{0:b} {1:b}" .format(num01, num02))

print("{0:c}" .format(76)) #可以把编码转换为特定的字符,参考ASCll

print("{:e}" .format(123456.77544)) #默认小数点后面保留6位

print("{:0.2e}" .format(123456.77544)) #小数点后面保留2位

print("{:g}" .format(123456.77544)) #保留6位

print("{:g}" .format(123456789.77544)) #超过6位用科学计数法表示

print("{:%}" .format(34)) #默认小数点后面保留6位

print("{:0.2%}" .format(34))

print("{:,}" .format(1234567890))

 

演示:

 

 

 

本人原创文章,非商业用途可随意转载,转载请保留原文出处

以上是关于浅谈format格式化输出的主要内容,如果未能解决你的问题,请参考以下文章

格式化输出 %s%d以及format

format格式化输出

string.Format 格式化输出日期

python用于格式化输出的format函数

Python格式化输出——format用法示例

浅谈 Python 中的字符串格式化输出