读者对象:
Python语法进阶者
简洁代码追求者
1 Python的4种字符串格式化
error = 50159747054
name = 'Bob'
#打印 'Hey Bob, there is a 0xbadc0ffee error!'
1.1 旧式字符串格式化:%
'Hey %s, there is a 0x%x error!' % (name,error) #位置引用
'Hey %(name)s, there is a 0x%(error)x error!' % {'name':name,'error':error} #变量名引用
1.2 新式字符串格式化:format
'Hey {name}, there is a 0x{error:x} error!'.format(name=name,error=error)
1.3 字符串字面值:f-string
f'Hey {name}, there is a 0x{error:x} error!'
a=5
b=10
f'{a} + {b} = {a+b}' #f格式支持表达式和计算
1.4 模板字符串:Template,安全
from string import Template
temp_string='Hey $name, there is a $error error!'
Template(temp_string).substitute(name=name,error=hex(error))
1.5 如何选择字符串格式化
其中f-string是Python3.6开始的新特性,功能强大,代码简洁,完全符合代码输入的顺序,不再需要像传统先占位在引用对应变量,个人推崇简洁风格:
如果格式串是用户提供的,使用模板字符串,避免安全问题。
优先使用字符串字面值f,不再使用旧式%、新式format。
2 f-string格式化字符串详细介绍
f-string是Python3.6的新特性,很多书籍都没详细介绍,想深入了解请参考网络文章:Python格式化字符串f-string f"{}{}{}"详细介绍blog.csdn.netpython3 f-string格式化字符串的高级用法mlln.cn
3 推荐阅读《深入理解Python的特性》
本文标题其实是引用自最近的Python语法进阶新书《深入理解Python特性》,书很薄,但都是进阶干活,比《流畅的Python》更简洁易懂。后续读完再对整本书做总结。