Python f-string格式化完全指南

0 下载量 135 浏览量 更新于2024-08-30 收藏 612KB PDF 举报
"这篇资源主要介绍了Python中的f-string格式化字符串的使用方法和注意事项,适合初学者和有经验的开发者巩固这一新特性。f-string是一种高效且直观的字符串格式化方式,尤其适用于需要动态插入变量的场景。" f-string是Python 3.6引入的一种新的字符串格式化方式,它的主要优点在于简洁和效率。通过在字符串前添加`f`或`F`,并在大括号中放置表达式,f-string能够直接解析表达式的值并将其插入到字符串中。例如,`f"My name is {name}"`会将变量`name`的值插入到字符串中。 在f-string中,你可以有多个替换字段,每个字段都可以包含任意复杂的Python表达式。例如,`f"The sum is {a + b}"`将计算`a`和`b`的和,并将结果插入到字符串中。 当处理数字时,f-string支持宽度和对齐的限定。例如,`f"{num:>10}"`会让数字`num`左对齐,并至少占用10个字符的空间。若数字本身长度超过10,则实际长度为准。你可以使用`<`(右对齐)、`^`(居中)或者不写(默认左对齐)作为对齐符号。宽度可以通过正整数指定。 对于字符串,你可以使用限定符来控制输出格式。例如,`f'{"ShangHai":*>15}'`会将字符串"ShangHai"居中并对齐,使用星号(*)作为填充字符,确保总长度至少为15。 对于浮点数,你可以指定精度和对齐方式。如`f"{23.5:*<10.2f}"`表示将23.5左对齐,总宽度为10,其中小数点后的精度为2,填充字符为星号。 在使用f-string时,有几个需要注意的点: 1. 转换字段不能为空表达式,否则某些IDE可能会给出错误提示。 2. 空字段并不意味着空值,空字符串、空列表、空字典或函数返回的空值都是允许的。 3. 如果字段需要双引号,可以使用`\`进行转义,或者使用`repr()`函数,或者在表达式末尾添加`!r`。 4. lambda表达式需要用圆括号包裹。 5. 替换表达式可以包含换行,但不能有注释。 6. 对于数字,如果没有指定`.精度f`,则仅限制宽度,不控制精度。 熟练掌握f-string的使用能够提高代码的可读性和编写效率。通过练习和实践,你可以更好地理解这些规则,并避免常见的错误,比如在冒号后面不小心留下的空格。