Python字符串格式化的3种方法

将字符串中的一部分替换为具备某种格式的变量,称为字符串的格式化。

1. 使用%占位符

>>>age = 23
>>>name = 'tom'
>>>'Happy birthday %d, %s!'%(age, name)

占位符

含义

%c

单个字符,或将表示字符的Unicode转换为字符替换进来

%s

字符串

%d

整数

%u

无符号整数

%o

八进制数

%x

十六进制数

%X

字母大写的十六进制数

%f

浮点数

%e

科学计数法表示的浮点数

%E

使用大写的E表示的科学计数法浮点数

%g

综合的%e和%f,系统决定是否使用科学计数法

%G

大写表示的%g

%和占位字符之间,可以加入数字和其他符号来表示更详细的格式控制。

其中,数字表示要预留多少字符的位置给这个数值,小数点加数字表示小数的位数。(如果实际长度不足,会在左边用空格填充,如果实际长度超出,则不会进行裁剪而直接输出。这里控制格式的数字必须是整数,或者使用’*’表示格式控制数字由后面的参数提供。)

>>>'%3d'%11
' 11'
>>>'%.2f'%(1/3)
'0.33'
>>>'%.*f'%(3, 3.14159)
'3.142'

%和占位字符之间,还可以表示4种内容。’-’表示向左对齐即在后面而不是前面填充空位,’0’表示用0填充而不是空格,’+’表示正数也要’+’表示符号,' '空格表示在正数前不用’+’表示符号,而是用空格,用来和负数对齐。

>>>'%-3d'%11
'11 '
>>>'%03d'%11
'011'
>>>'%+3d'%11
'+11'
>>>'% 3d'%11
' 11'

2. format()方法

和字符串的格式化格式不同,format函数使用{}表示占位符, 一般格式为:

{<索引>:<填充字符><对齐方式><宽度.精度><格式>}

>>>'A{}, B{}'.format('a', 'b')
'Aa Bb'
>>>'索引示例: A{1}, B{0}'.format('b', 'a')
'索引示例: Aa, Bb'
>>>'*填充,右对齐: {0:*>3d}'.format(11)
'*填充,右对齐: *11'
>>>'*填充,左对齐: {0:*<3d}'.format(11)
'*填充,左对齐: 11*'

3. f'str'

可以使用在字符串前加f的方式表示格式化字符串,从而可以在字符串内部直接使用{变量}的形式来进行格式化操作。

>>>age = 23
>>>name = 'tom'
>>>f'Happy birthday {age}, {name}!'
'Happy birthday 23, tom!'

  • 8
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值