Python_format格式化输出基础篇

今天分享一下Python的format格式化输出的一些基本函数,什么叫做format格式化输出?

相对基本格式化输出采用%号的方法,format()功能更加强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用{}号作为特殊字符代替%号。

演示1:利用format格式化输出,通过{}后面跟进.format来进行,和C#的占位符有些类似,其中.fromat()里面的数据是依次按照变量的定义顺序来执行。

#format格式化输出

name="nn"

gender="公"

age="3"

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

演示结果:

在format标准格式化输出,默认情况下不在{}里面加入数字,就是0,我们可以在{}里面添加标识的数字,好处在于可以反复调用前面定义的数值,演示代码如下:

#format格式化输出

name="牛牛"

gender="公"

age="3"

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

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

演示结果:

也可以用字段的名称(关键字)来更精准的表示:

#format格式化输出

name="牛牛"

gender="公"

age="3"

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

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

print("姓名: 性别: 年龄: 狗狗的姓名:".format(name=name,gender=gender,age=age))

演示结果:

演示2:format_默认情况下是左对齐的。

#format默认左对齐

name="呆呆"

gender="公"

breed="法牛"

age="1"

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

演示结果:左对齐并且取10个字节左对齐。

演示3:右对齐 用>符号表示,相反的左对齐用

#format默认左对齐

name="呆呆"

gender="公"

breed="法牛"

age="1"

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

#用箭头的方向指明右对齐

print("姓名:{:>10} 性别:{:>10} 品种:{:>10} 年龄:{:>10}".format(name,gender,breed,age))

演示结果:

演示4:中间对齐,用^号来表示:

#format默认左对齐

name="呆呆"

gender="公"

breed="法牛"

age="1"

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

#用箭头的方向指明右对齐

print("姓名:{:>10} 性别:{:>10} 品种:{:>10} 年龄:{:>10}".format(name,gender,breed,age))

# 用^的方向指中间对其

print("姓名:{:^10} 性别:{:^10} 品种:{:^10} 年龄:{:^10}".format(name,gender,breed,age))

演示结果:

演示5:用.xf的参数表示截取format格式的数据。

# 用.的符号截取数位。

print("{:.2f}".format(1.1314))

演示结果:

同样的,举例在20个字节的空间内,向右向左对齐乃至居中对齐都是可以的:

print("{:.2f}".format(1.1314))

print("{:>20.2f}".format(1.1314))#保留2位有效数字,在10个字符空间内,向右对齐

print("{:

print("{:^20.2f}".format(1.1314))# 保留2位有效数字,在20个字符空间中打印并居中对齐

演示结果:

format格式化打印对数值的操作

针对format以下所有的函数开头都是:号开头,切记不要忘记!

演示1:以format格式化输出的函数想x-o-b

# format对数值的操作

num18,num19=360,420

print("十六进制打印: ".format(num18,num19))#十六进制用x表示

print("八进制打印: ".format(num18,num19))#八进制用o表示

print("二进制打印: ".format(num18,num19))#二进制用b表示

演示结果:

演示2:以format格式化输出的函数c

print("{:c}".format(100))#ascii码用c表示

演示结果:

为了验证d在ascii码表中是不是对应d,我们可以上网查一下。

演示3:以format格式化输出的函数e

print("{:e}".format(1314.13141314))# 冥符号用:e表示

演示结果:小数点之后默认会保留6位,

如果您想保留小数点后的3位有效数字:用0.3表示:

print("{:0.3e}".format(1314.13141314))

演示结果:

演示4:以format格式化输出的函数g ,小数点左面的数值超过了6位则用科学计数法表示。

实例1>:未满足6位

print("{:g}".format(131413.141314))#一般格式,如这个数值超过6,用科学计数法表示

演示结果:

实例2>:超过6位

print("{:g}".format(13141314.141314))#一般格式,如这个数值超过6,用科学计数法表示

演示结果:

演示5:以format格式化输出的函数n_数字的意思,当值为整数和d相同,值为浮点数时和g相同, 不同额是他会根据区域设置插入数字分隔符。(几乎用不上不做演示)

演示6:以format格式化输出的函数%

print("{:%}".format(99))#%表示把这个数值用%表示,默认情况下小数点后面保留6位有效数字。

演示结果:

也可以用函数截取有效数字:这里我保留小数点后一位的有效数。

print("{:0.1%}".format(99))

演示结果:

演示7:以format格式化输出的函数:,号表示以千位分隔符表示的方法。

print("{:,}".format(1234567890))#千位符表示

演示结果:我们可以观察到每次到千位的时候用,号分隔,在项目开发中常应用于数额巨大的货币单位!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180703G10JVX00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券