Python格式化字符串的两种⽅式
我们经常会输出类似 '亲爱的 xxx 你好!你 xx ⽉的话费是 xx,余额是 xx ’ 之类的字符串,⽽ xxx 的内容都是根据变量变化的,所以,需要⼀种简便的格式化字符串的⽅式。
⼀、%
在Python中,采⽤的格式化⽅式和C语⾔是⼀致的,⽤%实现,举例如下:
>>>'Hello, %s'%'world'
'Hello, world'
>>>'Hi, %s, you have $%d.'%('Michael',1000000)
'Hi, Michael, you have $1000000.'
% 运算符就是⽤来格式化字符串的。在字符串内部,%s 表⽰⽤字符串替换,%d表⽰⽤整数替换,有⼏个 %?占位符,后⾯就跟⼏个变量或者值,顺序要对应好。如果只有⼀个 %?,括号可以省略。
常见的占位符有:
其中,格式化整数和浮点数还可以指定是否补 0 和整数与⼩数的位数:
'''python格式化输出format
遇到问题没⼈解答?⼩编创建了⼀个Python学习交流QQ:778463939
寻有志同道合的⼩伙伴,互帮互助,⾥还有不错的视频学习教程和PDF电⼦书!
'''
>>>print('%1d-%02d'%(3,1))
3-01
>>>print('%2d-%02d'%(3,1))
3-01
>>>print('%.3f'%3.1415926)
3.142
>>>print('%.2f'%3.1415926)
3.14
如果你不太确定应该⽤什么,%s 永远起作⽤,它会把任何数据类型转换为字符串:
>>>'Age: %s. Gender: %s'%(25,True)
'Age: 25. Gender: True'
有些时候,字符串⾥⾯的%是⼀个普通字符怎么办?这个时候就需要转义,⽤%%来表⽰⼀个%:
>>>'growth rate: %d %%'%7
'growth rate: 7 %'
⼆、format()
另⼀种格式化字符串的⽅法是使⽤字符串的format()⽅法,它会⽤传⼊的参数依次替换字符串内的占位符{0}、{1}……,不过这种⽅式写起来⽐%要⿇烦得多:
>>>'Hello, {0}, 成绩提升了 {1:.1f}%'.format('⼩明',17.125)
'Hello, ⼩明, 成绩提升了 17.1%'

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。