用%实现格式化
常见的占位符
%s : 字符串
%d : 整数
%f : 浮点数
%x : 十六进制整数
%运算符就是用来格式化字符串的。在字符串内部,%s示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。
>>> 'Hello,%s' % 'word'
'Hello,word'
>>> 'Hello,%s,you have $%d.' % ('kk',999999)
'Hello,kk,you have $999999.'
>>>
%d 整数 和 %f 浮点数 举例:
>>> print('%2d-%02d' % (3,1))
3-01
>>> print('%d-%02d' % (3,1))
3-01
>>> print('%d-%0d' % (3,1))
3-1
>>> print('%.f' % 3.1415926)
3
>>> print('%.3f' % 3.1415926)
3.142
>>> print('%.2f' % 3.1415926)
3.14
>>>
>>> print('%d-%13d' % (3,1))
3- 1
>>> print('%d-%03d' % (3,1))
3-001
>>> print('%d-%9d' % (3,1))
3- 1
>>> print('%d-%09d' % (3,1))
3-000000001
>>>
转义,用%% 表示 %
>>> '%d %%' % 9
'9 %'
>>>
format():格式化字符串函数,用{} : 代替 % 用传入的字符串依次代替{0}{1}{2},或者直接指定内容
>>> "{}{}".format("hello","word")
'helloword'
>>> "{0} {1}".format("hello","word")
'hello word'
>>> "{0} {1}".format("word","hello")
'word hello'
>>> "{1} {0} {1}".format("hello","word")
'word hello word'
>>>
>>> 'hello,{0},成绩下降了 {1:.1f}%'.format('小李',9.378)
'hello,小李,成绩下降了 9.4%'
>>>
>>> print("网站名:{name},地址{url}".format(name="菜鸟",url="www.cainiao.com"))
网站名:菜鸟,地址www.cainiao.com
>>>
>>> name = " 269 "
>>> f"hello,my name is {name}"
'hello,my name is 269 '
>>> number = 3
>>> f"i have {number} books"
'i have 3 books'
>>> r = 4.6
>>> s = 3.16 * r **2
>>> print(f'the area of a circle with radius {r} is {s:.2f}')
the area of a circle with radius 4.6 is 66.87
>>>
{r}被变量r的值替换,{s:.2f}被变量s的值替换,并且:后面的.2f指定了格式化参数,保留两位小数