Python中格式化的两种方法

Python (307) 2023-05-30 22:06:09

在Python中,采用的格式化方式和C语言是一致的,用%实现,举例如下:

>>>'Hello,%s'%'world'
'Hello,world'
>>>'Hi,%s,youhave$%d.'%('Michael',1000000)
'Hi,Michael,youhave$1000000.'

你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。

相关推荐:《Python视频教程》

常见的占位符有:

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

print('%2d-%02d'%(3,1))
print('%.2f'%3.1415926)

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:

>>>'Age:%s.Gender:%s'%(25,True)
'Age:25.Gender:True'

有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%:

>>>'growthrate:%d%%'%7
'growthrate:7%'
format()

另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:

>>>'Hello,{0},成绩提升了{1:.1f}%'.format('小明',17.125)
'Hello,小明,成绩提升了17.1%'
THE END

发表回复