20200923-Python学习笔记4

用%实现格式化

常见的占位符

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

f-string   函数  

>>> 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指定了格式化参数,保留两位小数

 

posted @ 2020-09-23 16:10  看,飞碟!!  阅读(125)  评论(0编辑  收藏  举报