两种格式化字符串形式:
- 占位符
- format函数
占位符形式:
Typecode | 作用 |
s | 获取传入对象的__str__方法的返回值,并将其格式化到指定的位置 |
d | 将整数,浮点数转换成十进制表示,并将其格式化到指定的位置 |
e/E | 将整数,浮点数转换成科学记数法,并将其格式化到指定的位置 |
f/F | 将整数,浮点数转换成浮点数表示,并将其格式化到指定的位置 |
o | 将整数转换成八进制数表示,并将其格式化到指定的位置 |
g/G | 自动调整将整数,浮点数转化成浮点型或科学记数法表示,并将其格式化到指定的位置 |
c | 将其转换成对应的Unicode,并将其格式化到指定的位置 |
r | 获取传入对象的__repr__方法返回值,并将其格式化到指定的位置 |
% | 当字符串中存在格式化标志时,需要%%表示一个百分号 |
# 占位符可以单独存在
s = 'I love %s'
name = 'Liny'
print(s % name)
# 多个占位符表达式
ss = 'I love %s and %s love me'
print(ss %(name,name))
输出结果:
format函数,三种表达形式:
# format函数表达式
# First
s = 'I love {}'
print(s.format('Liny'))
print('First:','I love {}'.format('Liny'))
# Second 索引
s = 'I love {0} and {1} love me .'
print('Second:',s.format('Liny','Mary'))
# 字典型
# Third and Fourth
s = 'my name is {name} , {age} years old, and study in {school}.'
print('Third:',s.format(name='Ligthing',age=18,school='NJUPT'))
date = {
'name':'Lighting',
'age':18,
'school':'NJUPT', # 一定要加逗号,否则报错
}
print('Third:',s.format(**date))
输出结果: