Python:补零操作,补充字符串,格式化输出

python3 所有格式化输出

%占位符格式化输出

- %s   针对字符类型
- %d   针对整数类型
- %f   针对浮点数类型
foo, foo1 = 'bar', 23.5;
print("hello world, %s"%(foo))
print("hello world, %s, %f"%(foo, foo1))
指定最小输出宽度

当使用表1中的转换说明符时,可以使用下面的格式指定最小输出宽度(至少占用多少个字符的位置):
%10d 表示输出的整数宽度至少为 10;
%20s 表示输出的字符串宽度至少为 20。

n = 1234567
print("n(10):%10d." % n)
print("n(5):%5d." % n)

url = "python"
print("url(10):%10s." % url)
print("url(5):%s." % url)

运行结果

n(10):   1234567.
n(5):1234567.
url(10):     python.
url(5):python.
指定小数精度

对于小数(浮点数),print() 还允许指定小数点后的数字位数,也即指定小数的输出精度。
精度值需要放在最小宽度之后,中间用点号.隔开;也可以不写最小宽度,只写精度。具体格式如下

f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)

format格式化输出

不需要特别指定格式,

name="bai"
age=20
print("姓名:{},年龄:{}岁".format(name,age))

一般情况下,{}是按照索引选择format后面地数据。

存在位置映射和关键字映射,也是按照索引地规则

#位置映射
print("{}:{}".format(1,2))
#1:2
#关键字映射
print("{name},{},{}".format(20,'汉',name='bai'))
#bai,20,汉

f格式化输出

name="bai"
print(f"你好,我是{name}")

python 补0操作

补充字符,代码实例如下:
方法一:


i = 3.141725
// 左边填充0,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- {i: 0>9.4f}" )

// 右边填充0,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- {i: 0<9.4f}" )

// 右边填充x,字符保留总共9(包含小数点),小数点后保留4位,
print(f"-- {i: x<9.4f}" )

输出结果

-- 0003.1417
-- 3.1417000
-- 3.1417xxx

方法二:
字符串使用 zfill 函数进行补零操作

str = "123"
print(str.zfill(8))
// 输出: 00000123

方法三:
默认情况下,print() 输出的数据总是右对齐的。也就是说,当数据不够宽时,数据总是靠右边输出,而在左边补充空格以达到指定的宽度。Python 允许在最小宽度之前增加一个标志来改变对齐方式,Python 支持的标志如下:
几点说明:

  • 对于整数,指定左对齐时,在右边补 0 是没有效果的,因为这样会改变整数的值。
  • 对于小数,以上三个标志可以同时存在。
  • 对于字符串,只能使用-标志,因为符号对于字符串没有意义,而补 0 会改变字符串的值。
n = 123456
# %09d 表示最小宽度为9,左边补0
print("n(09):%09d" % n)
# %+9d 表示最小宽度为9,带上符号
print("n(+9):%+9d" % n)

f = 140.5
# %-+010f 表示最小宽度为10,左对齐,带上符号
print("f(-+0):%-+010f" % f)

s = "Hello"
# %-10s 表示最小宽度为10,左对齐
print("s(-10):%-10s." % s)

输出结果

n(09):000123456
n(+9):  +123456
f(-+0):+140.500000
s(-10):Hello     .
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值