Python格式化输出详情是怎样的
Python格式化输出详情是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1.%格式化
语法:
%[(name)][flags][width].[precision]typecode
参数:
(name) 可选,用于选择指定的key
flags 可选,对齐方式,可选值为:
+表示右对齐
-表示左对齐。
' '为一个空格,表示在正数的左侧填充一个空格,负数前面加负号。
0 右对齐,正数前面无符号,负数前面加负号,用0填充空白
width 可选 表示显示宽度
.precision 可选 表示小数点后位数
typecode 必选 ,可以选择的参数为:
s 表示字符串
d 表示整数
f 表示浮点数
1.1简单格式化,不使用可选参数
print('%s的资产总额为%f元'%('A公司',156261595.89))print('%s的资产总额为%d元'%('A公司',156261595.89))
执行结果:
A公司的资产总额为156261595.890000元
A公司的资产总额为156261595元
1.2 复杂格式化,使用可选参数
1.2.1参数 (name),用于选择指定的key
d = {'name':'A公司', 'assets':156261595.89}print("公司名称%(name)s,资产总额为%(assets)f元。" %d)
执行结果:
公司名称A公司,资产总额为156261595.890000元。
1.2.2参数flags和width,对齐方式和宽度
d = {'name':'A公司', 'assets':156261595.89}print("公司名称%(name)+6s,资产总额为%(assets)-20f元。" %d)
执行结果:
公司名称 A公司,资产总额为156261595.890000 元。
1.2.3参数.precision 控制小数点后位数
d = {'name':'A公司', 'assets':156261595.89345}print("公司名称%(name)+4s,资产总额为%(assets).2f元。" %d)
执行结果:
公司名称 A公司,资产总额为156261595.89元。
2.format格式化
格式化字符串的函数
str.format(),
基本语法是通过{}
和:
来实现格式化,代替%格式化方法,format
函数可以接受不限个参数,位置可以不按顺序。主要参数释义:
[填充] : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
[对齐方式与宽度] ^, <, > 分别是居中、左对齐、右对齐,后面带宽度
[正负数显示] + 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格
[数据类型] s 表示字符串 d 表示整数 f 表示浮点数
2.1自定义占位符
# 自定义占位符s = '{0}的资产总额为{1}元'print(s.format('A公司','156261595.89'))
执行结果:
A公司的资产总额为156261595.89元
2.2自定义关键字
# 自定义关键字s = '{name}的资产总额为{资产}元'print(s.format(name='A公司',资产='156261595.89'))
执行结果:
A公司的资产总额为156261595.89元
2.3填充与对齐(同时使用)
# 填充与对齐(同时使用)# :号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充# ^, <, > 分别是居中、左对齐、右对齐,后面带宽度,s = '{name}的资产总额为{资产:*>20}元'print(s.format(name='A公司',资产=156261595.89))
执行结果:
A公司的资产总额为********156261595.89元
2.4数字格式化
# 浮点型,保留两位小数s = '{name}的资产总额为{资产:.2f}元'print(s.format(name='A公司',资产=156261595.8988))
执行结果:
A公司的资产总额为156261595.90元
# 浮点型,保留两位小数,并使用千分位分隔符s = '{name}的资产总额为{资产:,.2f}元'print(s.format(name='A公司',资产=156261595))
执行结果:
A公司的资产总额为156,261,595.00元
# 浮点型,保留两位小数,并使用千分位分隔符,表示在正数前显示+,负数前显示-s = '{name}的资产总额为{资产:+,.2f}元'print(s.format(name='A公司',资产=156261595))
执行结果:
A公司的资产总额为+156,261,595.00元
# 百分比,保留两位小数s = '{name}的资产负债率为{资产负债率:.2%}'print(s.format(name='A公司',资产负债率=0.8544))
执行结果:
A公司的资产负债率为85.44%
3.f-String格式化
Python
格式化字符串f-string
,采用f'{content:format}'
设置字符串格式,其中 content
是替换并填入字符串的内容,可以是变量、表达式或函数等。采用默认格式时不必指定 {:format
},只写 {content
} 即可。
3.1简单使用
# 简单使用name = 'A公司'assets = 156261595msg = f'{name}的资产总额为{assets}元。'print(msg)
执行结果:
A公司的资产总额为156261595元。
3.2复杂控制
# {content:format} 格式化使用name = 'A公司'assets = 156261595msg = f'{name}的资产总额为{assets:,.2f}元。'print(msg)
执行结果:
A公司的资产总额为156,261,595.00元。
注释:填充与对齐以及对数值的处理,与format
函数格式化类似,参照format
部分的讲解。
关于Python格式化输出详情是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。