我们经常会输入类似于“亲爱的XXX,你已经登录了XXX系统!”之类的字符串。而其中的xxx的内容都是根据变量进行变化的,所以,需要一种简便的格式化字符串的方式。
python中,格式化的方法使用%实现的。举例:
>>>print('Hello,%s' % 'harry')
Hello,harry
>>>print('Hello,%s.you have $%d .' % ('harry',100))
hello,harry.you have $100.
%
运算符就是用来格式化字符串的。在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?
,括号可以省略。
常见的占位符有:
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
有些时候,字符串里面的%
是一个普通字符怎么办?这个时候就需要转义,用%%
来表示一个%
:
>>> 'num: %d %%' % 7
'num: 7 %'
str和bytes互相转换时,需要指定编码。最常用的编码是UTF-8。