Python(七)python之字符串中有关格式化的问题

博客介绍了在Python中使用%实现格式化字符串,与C语言一致。还提到格式化整数和浮点数时可指定补0及位数,引入场宽概念,如%3d、%9.2f、%8s等的含义,并给出了不同格式化输出的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载来自:http://www.cnblogs.com/AimeeCodeWorld/p/7359771.html

在python中,通过使用%,实现格式化字符串的目的。(这与c语言一致)

其中,在格式化整数和浮点数时可以指定是否补0和整数与小数的位数。

首先,引入一个场宽的概念。

在C语言中场宽代表格式化输出字符的宽度。

  例如: 

  可以在"%"和字母之间插进数字表示最大场宽。 

  %3d 表示输出3位整型数,不够3位右对齐。 

  %9.2f 表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。 (注意:小数点前的数字必须大于小数点后的数字。小数点前的数值规定了打印的数字的总宽度。如果忽略了(如:.2f),则意味着总宽度无限制。)

  %8s 表示输出8个字符的字符串,不够8个字符右对齐。

 

%d的输出结果:

In [75]: for i in range(0,10): ...: print('%d' %i) ...: 0 1 2 3 4 5 6 7 8 9

 

%2d的输出结果:(场宽为2,右对齐)

In [76]: for i in range(0,10):
    ...:     print('%2d' %i)
    ...:
    ...:
 0
 1
 2
 3
 4
 5
 6
 7
 8
 9

复制代码

%02d的输出结果:(补0)

复制代码

In [77]: for i in range(0,10):
    ...:     print('%02d' %i)
    ...:
    ...:
    ...:
00
01
02
03
04
05
06
07
08
09

复制代码

%.2d的输出结果:

复制代码

In [78]: for i in range(0,10):
    ...:     print('%.2d' %i)
    ...:
00
01
02
03
04
05
06
07
08
09

 

有一道小题目:

为了显示‘xx.x’的格式s1 = 72
s2 = 85
r = (s2-s1)/s1
print('提高了%04.1f' % r)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值