Python格式化输出主要有三种方式:
- %-formatting
- str.format()
- f-Strings
除%以外,事实上字符串格式化操作还能通过str.format()方法或者f-Strings实现。相比于老版的字符串格式化方法,str.format()方法拥有更多的功能,操作起来更加方便,可读性也更强。
str.format()简介与用法
1.str.format()简介:
str.format()是对 %-formatting 的改进,相对于 %-formatting ,str.format()功能更加强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号“{}”作为特殊字符代替“%”。
str.format()方法优点如下:
- 不需要关注数据类型,而在%方法中%s只能替代字符串类型
- 单个参数可以多次输出,参数顺序可以不相同
- 填充方式十分灵活,对齐方式十分强大
- 官方推荐用的方式,%方式将会在后面的版本被淘汰
2.str.format()的用法:
替换字段用{}标记
print('姓名是:{},年龄是:{}'.format('Tom',20)) print('{} {} {}'.format('i', 'love', 'python'))
>>>姓名是:Tom,年龄是:20
>>>i love python
通过带数字编号来指定接收参数的位置,将调用时传入的参数按照位置进行传入
print('{1} {2} {3}'.format('i', 'love', 'python')) print('{3} {2} {1}'.format('i', 'love', 'python')) >>>i love python >>>python love i
通过带关键字来匹配参数位置
print('姓名是:{name},年龄是:{age}'.format(name="Tom","age=20")) >>>姓名是:tom,年龄是:20
f-Strings的用法
f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换。
name="tom" age="20" print(f"姓名是:{name},年龄是:{age}") >>>姓名是:tom,年龄是:20