在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%'