今天分享一下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))#千位符表示
演示结果:我们可以观察到每次到千位的时候用,号分隔,在项目开发中常应用于数额巨大的货币单位!
领取专属 10元无门槛券
私享最新 技术干货