name = '小仙女'
age = 18
print("大家好,我叫%(name)s,我今年%(age)d岁了。"%{'name':name,'age':age})#按参数
print("大家好,我叫%s,我今年%d岁了。"%(name,age))#按先后顺序
name = '小仙女'
age = 18
str = '大家好,我叫{name}, 我今年{age}岁了。'.format(name=name, age=age)
print(str)
name = '小仙女'
age = 18
str = f'大家好,我叫{name}, 我今年{age}岁了。'
print(str)
from string import Template
name = '小仙女'
age = 18
str = Template('大家好,我叫$name,我今年$age岁了。')
print(str.substitute(name=name,age=age))
Python字符串格式化经验法则:如果你的格式化字符串是由用户提供的,那么就是用模板字符串(#4)避免安全问题。不然如果是Python 3.6+的话,就使用字符串插值/f-Strings,如果不是就使用“新式”字符串格式化(str.format)。
常用的为:%s(字符串)、%d(整数)、%s(小数)
格式化符号 | 说明 |
---|---|
%c | 转换成字符(ASCII 码值,或者长度为一的字符串) |
%r | 优先用repr()函数进行字符串转换 |
%s | 优先用str()函数进行字符串转换 |
%d / %i | 转成有符号十进制数 |
%u | 转成无符号十进制数 |
%o | 转成无符号八进制数 |
%x / %X | 转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写) |
%e / %E | 转成科学计数法(e / E控制输出e / E) |
%f / %F | 转成浮点数(小数部分自然截断) |
%g / %G | %e和%f / %E和%F 的简写 |
%% | 输出% (格式化字符串里面包括百分号,那么必须使用%%) |
其他格式化资料请参考:Python格式化字符串(格式化输出)
联系客服