彻底解析 Python 字符串格式化:从基础到高级用法217


简介

在 Python 中,字符串格式化是一种强大的技术,用于动态创建和修改字符串。它提供了一种将变量值和表达式无缝嵌入字符串的简便方法,从而提高代码的灵活性。

基础用法

最基本的字符串格式方法使用占位符来表示要插入的值。占位符由一个百分号 (%) 和一个转换说明符组成,该说明符指定要应用的格式。
name = "John"
age = 30
print(f"Hello, {name}! You are {age} years old.")

输出:
Hello, John! You are 30 years old.

转换说明符

Python 提供了许多转换说明符,用于格式化不同的数据类型:| 说明符 | 数据类型 |
|---|---|
| %s | 字符串 |
| %d | 整数 |
| %f | 浮点数 |
| %c | 字符 |
| %r | 原始表示 |

格式化标志

格式化标志可以应用于转换说明符,以指定附加格式选项,例如对齐、宽度和精度:| 标志 | 描述 |
|---|---|
| - | 左对齐 |
| + | 显示正号 |
| 0 | 在数字前面填充零 |
| .n | 设置精度(浮点数小数位数) |

width = 15
print(f"Name: {name:{width}s}")
print(f"Age: {age:{width}d}")

输出:
Name: John
Age: 30

f-strings

f-strings 是 Python 3.6 中引入的一种新的、简洁的字符串格式化语法。f-string 以字母 f 开头,后面紧跟要格式化的字符串:
print(f"Hello, {name}! You are {age} years old.")

高级用法

字典和对象格式化


Python 支持使用字典和对象进行更高级的格式化:
data = {"name": "John", "age": 30}
print(f"Name: {data['name']} Age: {data['age']}")

输出:
Name: John Age: 30

条件格式化


条件表达式可以用在字符串格式中:
if age >= 18:
print(f"{name} is an adult.")
else:
print(f"{name} is not an adult.")

自定义格式化


Python 提供了格式字符串语法 (format specifiers syntax) 来定义自定义格式化操作:
print(f"{age:.2f}")

输出:
30.00

结论

Python 中的字符串格式化是一种功能强大的工具,可用于创建动态且可读的字符串。从基础用法到高级技术,Python 提供了广泛的选项来满足各种格式化需求。通过彻底了解这些概念,开发人员可以创建清晰、有效且可维护的代码。

2024-10-13


上一篇:Python 字符串替换:深入剖析

下一篇:数据分析与挖掘的 Python 实战宝典